나는 어떻게 신속한 사용하여 그렇게 할 수 Swift를 사용하여 ios에서 corner-radius로이 textField를 만드는 방법은 무엇입니까?
아래 같은 TextField를 만들려면?
나는 어떻게 신속한 사용하여 그렇게 할 수 Swift를 사용하여 ios에서 corner-radius로이 textField를 만드는 방법은 무엇입니까?
아래 같은 TextField를 만들려면?
사용이 스위프트 :
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;
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
이렇게하면됩니다.
감사합니다,하지만 결과 : http://image.prntscr.com/image/0a9e80bb00524eeaa3305b40caef0f08.png 코너 투명 –
@semihh는 yourtextField.clipsToBounds = true를 사용하려고합니다. 불행히도 그것은 발생하지 않았습니다. –
여전히 동일 –
Oww, 매우 대단히 감사합니다 :) 마지막 질문 하나, 어떻게 왼쪽의 색깔을 바꿀 수 있습니까 –
첫 번째 내 대답을 수락합니다. 내가 확인하고 당신에게 업데이 트 – Ammaiappan
오, 기다리고 있어요 –