iOS - 编辑文本字段时禁用滚动

时间:2012-09-01 18:08:51

标签: iphone ios ipad uiscrollview uitextfield

我正在尝试在编辑uitextfiled时禁用滚动(最好是所有背景触摸)。

以下是该方案:

我有一个包含多个文本字段的ScrollView设置。在编辑文本字段时,我向上/向下设置视图动画,以便文本字段位于键盘/小键盘出现的位置上方。在我将键盘样式更改为手机/数字键盘的情况下,我有一个子视图设置,其中有一个完成按钮可用于在编辑完成时关闭键盘。所有动画都按预期工作。但是,用户可以滚动背景并选择其他字段。我想禁用此功能,以便他们所能做的就是查看屏幕上显示的内容并编辑一个字段。

我尝试过[scrollView setUserInteractionEnabled:NO],它将滚动视图锁定到位,但是键盘不能在文本字段中输入信息。再次,在键盘设置为手机/数字键盘的情况下,我的子视图出现,只是没有键盘。

我还尝试将正在编辑的文本字段设置为第一响应者,但这似乎完全搞乱了视图,可能是由于我的视图子视图的动画。

我有没有办法按照我想要的方式为视图设置动画并禁用滚动视图的滚动,或者完全禁止该视图中的所有背景触摸?

2 个答案:

答案 0 :(得分:1)

使viewController成为textField的委托,并在- (void)textFieldDidBeginEditing:(UITextField *)textField中禁用滚动.. self.scrollView.scrollEnabled = NO;和 - (void)textFieldDidEndEditing:(UITextField *)textField再次启用滚动功能。 。

您还可以根据需要禁用所有其他文本字段。

self.otherTextField.userInteractionEnabled = NO;

希望这有帮助。

答案 1 :(得分:0)

你有没有尝试过:

scrollView.scrollEnabled = NO 

相关问题