2016-06-28 2 views

ответ

0

Используйте этот Swift:

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) 

Obj-C

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; 
+0

Oww, очень спасибо :) Последний вопрос, Как я могу изменить цвет только левой стороны –

+0

1-й принимаю мой ответ. я проверю и уточню вам – Ammaiappan

+0

okey, я жду –

2
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

, к сожалению, этого не произошло. все тот же –