【问题标题】:How to make UITextView scroll up when entering it?输入时如何让 UITextView 向上滚动?
【发布时间】:2011-03-11 14:30:27
【问题描述】:

我有一个 UITextView 包含在 UITableViewCell 中。最初显示视图时布局是正确的,但是一旦我单击 UITextView 它不会自动向上滚动并且整个 UITextView 变得不可见。

此图像是 UITextView 未激活时的图像:

http://img13.imageshack.us/img13/3894/unloaded.png

这是当我点击 UITextView 使其处于活动状态时:

img337.imageshack.us/img337/2583/loaded.png(链接前加“http://”,我不能发多个超链接)

我希望带有 UITextView 的单元格向上滚动。我怎样才能做到这一点?

欢迎提出任何建议。

胡里奥·塞萨尔

【问题讨论】:

    标签: iphone uitextview


    【解决方案1】:

    最简单的方法是为要向上移动的项目创建一个 IBOutlet,然后在选择文本字段时在代码中执行以下操作:

    myTextView.center.y = 200 或任何你认为合适的 y 值。

    【讨论】:

    • 感谢您的回答,但没有奏效。唯一发生的事情是我的 UITextView 超出了单元格。
    • 如果单元格和 UIView 是分开的,那么你必须将它们都向上移动,或者如果它们都是同一个视图,那么你可以将它们一起移动。
    • 这不是动态解决方案。它仅适用于一种情况,但我从 XML 文件动态生成我的视图。如果有任何其他建议,将不胜感激。
    • 我很乐意提供帮助,但我更了解基础知识,没有适合我的 XML :(
    • 嗨 SeniorShizzle,我已经完成了。我刚刚在帖子中发布了我的答案。无论如何感谢您的帮助!
    【解决方案2】:

    我已经做到了。我的解决方案不是最好的,但效果很好:一切都发生在 tableView:cellForRowAtIndexPath:

    1) 对于每个具有 UITextView 的单元格,我都有一个 NSDictionary:我使用特定键将所有 UITextView 保存在 NSDictionary 上的单元格上。

    2) 我还有另一个 NSDictionary,其中包含在 tableView:cellForRowAtIndexPath 中创建的 indexPath 对象。如果单元格 A 具有 UITextView A,则它们在 NSDictionaries 中将具有相同的键。

    3) 我实现 UITextViewDelegate 并调用 textViewDidBeginEditing:这是我的代码:

    • (void)textFieldDidBeginEditing: (UITextField *)textField {

    NSArray *keys = [self.answersDic allKeysForObject:textField];

    id *key = (id *)[keys objectAtIndex:0];

    NSIndexPath *tempIndex=[self.indexPathForViews objectForKey:key];

    [tableViewLocal scrollToRowAtIndexPath:tempIndex atScrollPosition:UITableViewScrollPositionTop 动画:YES];

    }

    观察:

    a) answersDic 是保存我的 UITextViews 的 NSDictionary。

    b) indexPathForViews 是保存我的 IndexPaths 的 NSDictionary。

    c) 这段代码最重要的部分:使视图向上滚动的方法:

    [tableViewLocal scrollToRowAtIndexPath:tempIndex atScrollPosition:UITableViewScrollPositionTop 动画:YES];

    所以,就是这样。谢谢你的帮助!

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 2017-10-04
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多