2016-06-28 101 views

回答

0

使用此 斯威夫特:

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

哦,非常非常感謝:) 最後一個問題,我怎樣才能改變左側的顏色 –

+0

1st接受我的回答。我會檢查並更新給你 – 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

不幸的是沒有發生。仍然相同 –

相關問題