在Ios中创建仅包含底线的文本字段

Jun*_*tes 24 objective-c uitextfield

是否可以在Ios中创建一个仅显示底部边框线而不显示上边线和侧边线的文本字段.如果是的话,我该如何实现呢

小智 54

对的,这是可能的.这是怎么做的:

CALayer *border = [CALayer layer];
CGFloat borderWidth = 2;
border.borderColor = [UIColor darkGrayColor].CGColor;
border.frame = CGRectMake(0, textField.frame.size.height - borderWidth, textField.frame.size.width, textField.frame.size.height);
border.borderWidth = borderWidth;
[textField.layer addSublayer:border];
textField.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!!


mob*_*cat 20

更新了Swift 3.0

extension UITextField {    

    func useUnderline() {
        let border = CALayer()
        let borderWidth = CGFloat(1.0)
        border.borderColor = UIColor.lightGray.cgColor
        border.frame = CGRect(origin: CGPoint(x: 0,y :self.frame.size.height - borderWidth), size: CGSize(width: self.frame.size.width, height: self.frame.size.height))
        border.borderWidth = borderWidth
        self.layer.addSublayer(border)
        self.layer.masksToBounds = true
    }
}
Run Code Online (Sandbox Code Playgroud)


Adr*_*ian 9

迅速:

extension UITextField {

    func useUnderline() {

        let border = CALayer()
        let borderWidth = CGFloat(1.0)
        border.borderColor = UIColor.blackColor().CGColor
        border.frame = CGRectMake(0, self.frame.size.height - borderWidth, self.frame.size.width, self.frame.size.height)
        border.borderWidth = borderWidth
        self.layer.addSublayer(border)
        self.layer.masksToBounds = true
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样称呼它:

yourtextFieldName.useUnderline()
Run Code Online (Sandbox Code Playgroud)