文本字段 userinteractionenabled 禁用也输入 obj c
textfield userinteractionenabled disable also input obj c
我有一个带有左视图和右视图的文本字段,我需要禁用对文本的触摸,而不是对右视图的触摸,这样我就可以删除使用自定义键盘输入的字符。为此,我必须仅禁用 textfiel 的输入。这可能吗?
example
当然是。一些想法:
- 在顶部的文本视图中添加一个新的
UIView
子视图,覆盖要 "ignore" 用户触摸的部分。将其背景设置为 clearColor
以便文本视图实际上可见(在调试过程中,在您对最终大小和位置感到满意之前,像红色这样的纯色实际上可能会有所帮助)。这种方法的一个小缺点是框架是矩形,因此按钮上方和下方的区域仍会接受用户输入(这可能会或可能不会对您的情况产生影响)。
- 反过来。将文本字段视图放在容器视图中(背景颜色也设置为清除颜色),使容器框架小于文本视图。将文本字段框架的
origin.x
设置为负数。将容器视图剪辑设置为 NO
的边界。最终您希望容器视图匹配您的后退按钮并相应地定位文本视图。您还需要将触摸事件传递到文本字段:
在 2) 的容器视图中
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
return NO;
}
现在只有您在容器视图中的文本视图区域可以接受触摸。
我有一个带有左视图和右视图的文本字段,我需要禁用对文本的触摸,而不是对右视图的触摸,这样我就可以删除使用自定义键盘输入的字符。为此,我必须仅禁用 textfiel 的输入。这可能吗?
example
当然是。一些想法:
- 在顶部的文本视图中添加一个新的
UIView
子视图,覆盖要 "ignore" 用户触摸的部分。将其背景设置为clearColor
以便文本视图实际上可见(在调试过程中,在您对最终大小和位置感到满意之前,像红色这样的纯色实际上可能会有所帮助)。这种方法的一个小缺点是框架是矩形,因此按钮上方和下方的区域仍会接受用户输入(这可能会或可能不会对您的情况产生影响)。 - 反过来。将文本字段视图放在容器视图中(背景颜色也设置为清除颜色),使容器框架小于文本视图。将文本字段框架的
origin.x
设置为负数。将容器视图剪辑设置为NO
的边界。最终您希望容器视图匹配您的后退按钮并相应地定位文本视图。您还需要将触摸事件传递到文本字段:
在 2) 的容器视图中
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
return NO;
}
现在只有您在容器视图中的文本视图区域可以接受触摸。