1
是否有任何方法使UITextField
默认情况下被选中而不使用becomeFirstResponder()
。方法becomeFirstResponder()
会自动滚动我的UIScrollView
,以便UITextField
位于页面的顶部,我不想这样做。将焦点设置到UITextField而不使用becomeFirstResponder()
谢谢。
是否有任何方法使UITextField
默认情况下被选中而不使用becomeFirstResponder()
。方法becomeFirstResponder()
会自动滚动我的UIScrollView
,以便UITextField
位于页面的顶部,我不想这样做。将焦点设置到UITextField而不使用becomeFirstResponder()
谢谢。
你可以尝试调用becomeFirstResponder
前禁用了滚动的滚动,重新启用它算账:
scrollView.scrollEnabled = NO;
[textField becomeFirstResponder];
scrollView.scrollEnabled = YES;
但是,要小心不希望这种滚动行为,因为它可能是在较小的屏幕有用显示文本字段。
感谢您的回答,但它没有工作.. :( – Frederik
如果你真的想强制它,你可以把一个0秒的计时器再次启用它。这'黑客'确保它被称为后绘图 – Thomm
您可以尝试在调用'becomeFirstResponder'之前将'scrollView.contentOffset'保存在变量中,然后再恢复:'scrollView.contentOffset = ...' – Kamchatka