首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS管理键盘-将UIScrollView内容向上移动

IOS管理键盘-将UIScrollView内容向上移动
EN

Stack Overflow用户
提问于 2011-10-19 17:54:18
回答 1查看 3K关注 0票数 0

我正在使用IOS开发人员库中的示例来管理键盘。文本、Web和版本编程指南

我使用IB创建了一个视图。它是一个简单的UI,具有UIScrollView、UITextView、UIButton和UITextField。我将UIScrollView放在我的视图中,然后添加所有其他控件作为此滚动视图的子控件。滚动视图通过IBOutlet " scrollview“公开给视图控制器。

执行下面的代码时,用户会将焦点设置为textField,但我从未看到滚动条出现,滚动条的内容也不会被移动。默认情况下,我应该能够看到滚动条吗?谁能告诉我我错过了什么吗?

代码语言:javascript
复制
  -(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布局看起来像一个基本的聊天窗口。我想把“输入”字段向上移动,而软键盘是可见的。谢谢!更新

似乎我需要添加一些填充来实际查看位于滚动视图底部的控件。

代码语言:javascript
复制
 CGPoint scrollPoint = CGPointMake(0.0, (activeField.frame.origin.y - kbSize.height) + 10.0);

我怎么没看到滚动条?

EN

回答 1

Stack Overflow用户

发布于 2011-10-25 08:25:59

滚动条应该只显示在用户交互上。这里的情况并非如此,因为您以编程方式设置了滚动视图的内嵌。

如果要显示滚动条,我相信UIScrollView定义了一个flashScrollIndicators方法,该方法应该显示滚动条。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7825771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档