-2

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

这是场景:

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

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

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

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

4

3 回答 3

1

使您的 viewController 成为 textField 的代表,并在- (void)textFieldDidBeginEditing:(UITextField *)textField禁用滚动中..self.scrollView.scrollEnabled = NO;并在 - (void)textFieldDidEndEditing:(UITextField *)textField 中再次设置滚动启用...

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

self.otherTextField.userInteractionEnabled = NO;

希望这会有所帮助。

于 2012-09-01T18:13:58.360 回答
1

尝试这个

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    scrollView.scrollEnabled = NO;
}

- (void)textFieldDidEndEditing:(UITextField *)textField{
    scrollView.scrollEnabled = YES;
}
于 2015-08-25T09:17:18.773 回答
0

你试过了吗:

scrollView.scrollEnabled = NO 

?

于 2012-09-01T18:11:39.277 回答