如何使用Swift在ios中使用corner-radius创建此文本字段?
答
使用此 斯威夫特:
let maskPath: UIBezierPath = UIBezierPath(roundedRect: self.textField.bounds, byRoundingCorners: ([.TopLeft, .TopRight]), cornerRadii: CGSizeMake(10.0, 10.0))
let maskLayer: CAShapeLayer = CAShapeLayer()
maskLayer.frame = self.textField.bounds
maskLayer.path = maskPath.CGPath
self.textField.layer.mask = maskLayer
let borderLayer: CAShapeLayer = CAShapeLayer()
borderLayer.frame = self.textField.bounds
borderLayer.path = maskPath.CGPath
borderLayer.lineWidth = 4.0
borderLayer.strokeColor = UIColor.blackColor().CGColor
borderLayer.fillColor = UIColor.clearColor().CGColor
self.textField.layer.addSublayer(borderLayer)
对象 -
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.textField.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:CGSizeMake(10.0, 10.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.textField.bounds;
maskLayer.path = maskPath.CGPath;
self.textField.layer.mask = maskLayer;
CAShapeLayer *borderLayer = [[CAShapeLayer alloc] init];
borderLayer.frame = self.textField.bounds;
borderLayer.path = maskPath.CGPath;
borderLayer.lineWidth = 4.0f;
borderLayer.strokeColor = [UIColor blackColor].CGColor;
borderLayer.fillColor = [UIColor clearColor].CGColor;
答
let path = UIBezierPath(roundedRect: yourtextField.bounds, byRoundingCorners: [.TopRight, .TopLeft], cornerRadii : CGSizeMake(15.0, 15.0))
let templayer = CAShapeLayer()
templayer.path = path.CGPath
yourtextField.layer.mask = maskLayer
这应该有效。
+0
谢谢,但结果:http://image.prntscr.com/image/0a9e80bb00524eeaa3305b40caef0f08.png 角落透明 –
+0
@semihh尝试使用,yourtextField.clipsToBounds = true –
+0
不幸的是没有发生。仍然相同 –
哦,非常非常感谢:) 最后一个问题,我怎样才能改变左侧的颜色 –
1st接受我的回答。我会检查并更新给你 – Ammaiappan
okey,我在等待 –