我的代码遇到了问题.我正在尝试移动UIScrollView当我正在编辑时UITextField应该被键盘弹出隐藏.
我现在正在移动主框架,因为我不知道如何在代码中"向上滚动".所以,我做了一些代码,它工作正常但是当我编辑一个UItextfield并且我切换到另一个UITextField而没有按下"返回"按钮时,主视图变得非常了不起.
我NSLog()用变量大小,距离和textFieldRect.origin.y 做了一个,如下所示.当我把两个UITextField放在同一个地方(y原点)并且我做这个特别的'开关'(没有按回车)时,我得到相同的数字,而我的代码在第一次UITextField编辑时工作正常但不适用于第二次编辑.
看一下这个:
- (void)textFieldDidBeginEditing:(UITextField *)textField {
{
int size;
CGRect textFieldRect = [self.view.window convertRect:textField.bounds fromView:textField];
size = textFieldRect.origin.y + textFieldRect.size.height;
if (change == FALSE)
{
size = size - distance;
}
if (size < PORTRAIT_KEYBOARD_HEIGHT)
{
distance = 0;
}
else if (size > PORTRAIT_KEYBOARD_HEIGHT)
{
distance = size - PORTRAIT_KEYBOARD_HEIGHT + 5; // +5 px for more visibility
}
NSLog(@"origin %f", textFieldRect.origin.y);
NSLog(@"size %d", …Run Code Online (Sandbox Code Playgroud) 我有6个UITextFields在我的UIScrollView.现在,我可以按用户请求滚动.但是当键盘出现时,会隐藏一些文本字段.
这不是用户友好的.
如何以编程方式滚动视图,以确保键盘不隐藏文本字段?
我在这里看到的帖子表明,UIScrollViews如果子视图UITextField成为第一个响应者,应自动滚动; 但是,我无法弄清楚如何让它发挥作用.
我已经是一个UIViewController具有UIScrollView与内UIScrollView有多个文本框.
如果有必要,我知道如何手动完成此操作; 但是,从我一直在阅读的内容来看,似乎可以让它自动滚动.请帮忙.