[ios]UITextView 不需要的滚动空间

标签: UITextView ios
发布时间: 2015/7/5 2:42:29
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有覆盖整个视图控制器安装在 UITextView storyboard 。有到顶部的布局指南,底部布局指南,前导边距和尾随边缘的限制。

我已经注册到要调整的内容嵌入这样的键盘通知:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(keyboardAppeared:)
                                             name:UIKeyboardDidShowNotification
                                           object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(keyboardDisappeared:)
                                             name:UIKeyboardDidHideNotification
                                           object:nil];

keyboardAppeared 的执行:

- (void)keyboardAppeared:(NSNotification *)notification {
    NSDictionary *notificationUserInfo = [notification userInfo];
    CGRect keyboardRect = [[notificationUserInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
    self.textView.contentInsets = UIEdgeInsetsMake(0, 0, keyboardRect.heignt, 0);
    self.textView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, keyboardRect.height, 0);
}

keyboardDisappeared 的执行:

- (void)keyboardDisappeared:(NSNotification *) {
    self.textView.contentInsets = UIEdgeInsetsZero;
    self.textView.scrollIndicatorInsets = UIEdgeInsetsZero;
}

这里的问题是当键盘出现不需要的滚动在 textView textView 文本较少。时的文本大小超过 textView 高度,不会出现不需要的滚动。

请帮助!

解决方法 1:

解决了这个问题。这个问题是非常罕见,但如果有人被困,这里是解决方案。

我用来设置中像这样的 viewDidLoad textView 的文本:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.textView setScrollEnabled:YES];
    [self.textView setText:#-some text-#];
    [self.textView setScrollEnabled:NO];
}

我关掉了滚动的文本视图不会滚动到底部设置文本。所造成的问题,额外的滚动。(我不知道为什么)

用于此解决方案解决问题: http://stackoverflow.com/a/3287419

官方微信
官方QQ群
31647020