我正在使用IOS开发人员库中的示例来管理键盘。文本、Web和版本编程指南
我使用IB创建了一个视图。它是一个简单的UI,具有UIScrollView、UITextView、UIButton和UITextField。我将UIScrollView放在我的视图中,然后添加所有其他控件作为此滚动视图的子控件。滚动视图通过IBOutlet " scrollview“公开给视图控制器。
执行下面的代码时,用户会将焦点设置为textField,但我从未看到滚动条出现,滚动条的内容也不会被移动。默认情况下,我应该能够看到滚动条吗?谁能告诉我我错过了什么吗?
-(void) keyboardWasShown:(NSNotification *)aNotification{
NSDictionary * info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
// If active text field is hidden by keyboard, scroll it so it's visible
// Your application might not need or want this behavior.
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, activeField.frame.origin) ) {
CGPoint scrollPoint = CGPointMake(0.0, activeField.frame.origin.y-kbSize.height);
[scrollView setContentOffset:scrollPoint animated:YES];
}
}同样,我将直接从链接中的IOS编程指南中获取这段代码。UI布局看起来像一个基本的聊天窗口。我想把“输入”字段向上移动,而软键盘是可见的。谢谢!更新
似乎我需要添加一些填充来实际查看位于滚动视图底部的控件。
CGPoint scrollPoint = CGPointMake(0.0, (activeField.frame.origin.y - kbSize.height) + 10.0);我怎么没看到滚动条?
发布于 2011-10-25 08:25:59
滚动条应该只显示在用户交互上。这里的情况并非如此,因为您以编程方式设置了滚动视图的内嵌。
如果要显示滚动条,我相信UIScrollView定义了一个flashScrollIndicators方法,该方法应该显示滚动条。
https://stackoverflow.com/questions/7825771
复制相似问题