在Swift中指定UITextField的边界半径

时间:2015-11-30 21:00:42

标签: ios swift uitextfield

我想以编程方式使用Swift指定UITextField的边框半径。

默认情况下,UITextField有一个轻微的边框半径,但是我想增加它,在浏览Interface Builder后,我认为这可以通过编程方式完成吗?

9 个答案:

答案 0 :(得分:48)

您可以使用:

nameOfTextField.layer.cornerRadius = 15.0
nameOfTextField.layer.borderWidth = 2.0
nameOfTextField.layer.borderColor = UIColor.red.cgColor

答案 1 :(得分:16)

如果您正在使用Interface Builder,则可以对要修改的控件使用“用户定义的运行时属性”。在运行时,当视图加载时,您传递键路径的每个属性将自动设置为您的值。只需很少的显示调整就不需要弄乱你的代码。

下面的图片应该回答你的问题。

Adding border radius with IB Runtime Attributes

答案 2 :(得分:7)

要在下面的答案中创建“文本角的半径”是正确的:

迅速3

{{1}}

答案 3 :(得分:2)

由于@SnarfSnarf建议您可以通过访问layer属性,以编程方式调整文本字段的边界宽度和角半径,以及该问题的任何其他视图:

nameOfTextField.layer.cornerRadius = 4.0
nameOfTextField.layer.borderWidth = 2.0

最重要的是,UITextField有一个borderStyle属性,您可能想要使用该属性。它有四个可能的值:NoneLineBezelRoundedRect

最后阅读UITextField's documentation,这总是找出课程提供的所有可能性的好方法。

答案 4 :(得分:0)

试试这个:yourTxtField.layer.cornerRadius 您还可以在此处找到其他方法https://developer.apple.com/library/prerelease/tvos/documentation/UIKit/Reference/UITextField_Class/index.html

答案 5 :(得分:0)

要在下面的答案中创建Textfield的borderWidth是正确的:

迅速3

YourTextfieldName!.layer.borderWidth = 1
YourTextfieldName!.layer.borderColor = UIColor.black.cgColor

答案 6 :(得分:0)

别忘了添加layer.masksToBound-我认为最受欢迎的答案错过了这一点。您需要按钮具有与其边框相同的形式。 https://developer.apple.com/documentation/quartzcore/calayer/1410896-maskstobounds

nameOfTextField.layer.cornerRadius = 15.0
nameOfTextField.layer.borderWidth = 0
nameOfTextField.layer.masksToBounds = true

答案 7 :(得分:0)

为我工作,

  nameOfTextField.layer.cornerRadius = 15.0
  nameOfTextField.layer.borderWidth = 2.0
  nameOfTextField.layer.borderColor = UIColor.brown.cgColor  
  nameOfTextField.layer.masksToBounds = true

答案 8 :(得分:0)

在 Swift 5 中

yourTxtField.cornerRadius = 18
yourTxtField.masksToBounds = true