如何修复Corner Radius

时间:2018-03-29 03:08:26

标签: ios swift3 uitextfield

我查看了这个答案,很有帮助,但没有得到我想要的内容:Getting and Setting Cursor Position of UITextField and UITextView in Swift

在属性检查器中,我将Placeholder设置为" ____ First Name",它修复了文本的左对齐,因为它向右移动了一点。但我认为这不是正确的做法。另外,我没有从上面的答案中得到光标位置说明。

     func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool
        {
            let arbitraryValue: Int = 5
            if let newPosition = textView.position(from: textView.beginningOfDocument, offset: arbitraryValue) {
                textView.selectedTextRange = textView.textRange(from: newPosition, to: newPosition)

            // ....

            }
        }

enter image description here

事情是甚至在某种程度上我想出来让它工作,光标向右移动5个字符。当我删除文本时,光标移回左角。

但我真正想要的是整个textField向右移动,以便它不像上面那样被CornerRadius覆盖。

2 个答案:

答案 0 :(得分:2)

您可以更改文本字段本身的填充。

斯威夫特:

 //Changes the text padding
 override func textRect(forBounds bounds: CGRect) -> CGRect {
   return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(0, 15, 0, 15))
 }
 //Changes the placeholder
 override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
   return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(0, 15, 0, 15))
 }

答案 1 :(得分:0)

所以这就是我在没有添加任何代码的情况下所做的。

  • 我将视图放在textFields下面。
  • 我让视图在两侧都有额外的宽度。
  • 我将“视图”颜色设置为textFields。
  • 然后我给他们角落半径属性。

enter image description here

如果仔细观察,我们可以看到这些边缘。他们让我畏缩。

enter image description here