如何在uitextfield中设置有限的文本宽度

时间:2012-05-27 17:50:42

标签: ios xcode uitextfield width limit

我需要在UITextField中设置有限的文字宽度,因为我将按钮放在UITextField

的顶部

看图片:

enter image description here

如何做到这一点?

3 个答案:

答案 0 :(得分:2)

您可能需要继承UITextField并覆盖editingRectForBounds:方法。尝试这样的事情。当然,相应地调整值。

- (CGRect)editingRectForBounds:(CGRect)bounds {
      return CGRectInset( bounds , 10 , 10 );
}

如果这是您问题的解决方案,请接受此答案。

答案 1 :(得分:1)

您可以将UITextView的事件editingChanged链接到以下方法:

- (IBAction)textFieldChanged:(id)sender{
    if([sender.text length]>6){ 
        sender.text = [sender.text substringToIndex: 6];
    }
}

答案 2 :(得分:0)

为了补充这一点,您可能希望覆盖editingRectForBoundstextRectForBounds,以便在编辑和不编辑时正确显示文本(请参阅this post) 。在Swift中,这可能是:

class MyUITextField: UITextField {

    override func editingRectForBounds(bounds: CGRect) -> CGRect {
        return CGRectInset(bounds, 18, 0)
    }

    override func textRectForBounds(bounds: CGRect) -> CGRect {
        return CGRectInset(bounds, 18, 0)
    }
}