使`UITextField`的某些部分不可选

时间:2015-01-14 11:26:37

标签: ios validation uitextfield

我有一个UITextField代表一个带分数(分子和分母)的整数。例如:"27 3/16"。我希望最后的分母"/16"不可编辑,也不可选择

我可以使用委托方法textField:shouldChangeCharactersInRange:replacementString:来阻止"/16?"使用方法a bit like this进行编辑。

有什么方法可以阻止"/16"完全可选?因此,插入符号不能移入其中,并且不能围绕它制作选择品牌。

如果这是不可能的,是否有一个钩子,这样一旦用户完成选择,我就可以更新选择并将插入符号移到这段文本之前。

感谢。

1 个答案:

答案 0 :(得分:0)

你可以通过自动布局将UILabel和UITextField约束在一起,UILabel包含denumerator,UITextField是分子。

以下是如何解答的问题:Using Auto Layout to have UILabel and UITextField next to each other(实质上,您需要调整UITextField的内容拥抱优先级,使其始终与包含的文本一样宽。

如果您的文字字段太小而无法点按,则可以将此答案的代码应用于UITextView,并使视图的可点击区域更大:UIButton: Making the hit area larger than the default hit area(但最好使用方法调整而不是覆盖方法在答案中的类别!或子类。)