2016-06-28 9 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) 

の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

第一は私の答えを受け入れる。あなたにチェックし、あなたに更新する – 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

@セミヒは、yourtextField.clipsToBounds = trueを使用しようとしました。 –

+0

残念ながら、それは起こりませんでした。それでも同じ –

関連する問題