Ios 当UITextView成为第一响应者时,为什么UIScrollView不向上滚动?

Ios 当UITextView成为第一响应者时,为什么UIScrollView不向上滚动?,ios,objective-c,uiscrollview,uitextfield,uitextview,Ios,Objective C,Uiscrollview,Uitextfield,Uitextview,当用户点击按钮在UIScrollView上添加UITextView时,UITextView成为第一响应者。实际上,包含UITextView或UITextField的UIView被添加到UIScrollView中。当键盘出现时,scrollview不会向上滚动,但是当它成为第一响应者时,UITextField会使它向上滚动。我注册UIKeyboardDidShowNotification向上滚动。下面是我的代码 - (void)keyboardDidShow:(NSNotification *)n

当用户点击按钮在
UIScrollView
上添加
UITextView
时,
UITextView
成为第一响应者。实际上,包含
UITextView
UITextField
的UIView被添加到
UIScrollView
中。当键盘出现时,scrollview不会向上滚动,但是当它成为第一响应者时,
UITextField
会使它向上滚动。我注册
UIKeyboardDidShowNotification
向上滚动。下面是我的代码

- (void)keyboardDidShow:(NSNotification *)notification {
        CGRect keyboardEndFrame;
        [(notification.userInfo)[UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEndFrame];

        NSInteger height = CGRectGetHeight(keyboardEndFrame);

        NSInteger lastObj = arrayTotalObjects.count - 1;
        UIView *lastView = [arrayTotalObjects objectAtIndex:lastObj];

        if(!(lastView.frame.origin.y > height))
            return;

        UIEdgeInsets inset = originalInset;
        inset.bottom += height;
        NSLog(@"inset: %f", inset.bottom);

        [UIView animateWithDuration:0.3f animations:^{
            scrlView.contentInset = inset;
        }completion:^(BOOL finished) {
            NSLog(@"scrlView inset bottom: %f", scrlView.contentInset.bottom);
        }];
}
在这种情况下,lastView将是包含UITextView的UIView


此代码适用于
UITextField
,但不适用于
UITextView
。这怎么可能?是因为
UITextView
UIScrollView
的子类吗?

简而言之,您的问题的答案是肯定的,这种行为是由UITextView是UIScrollView的子类引起的。您可以找到更多详细信息,以及如何禁用它的解决方案。

如果有人看到此问题,答案将设置为启用了UITextView滚动
false

在拉维科的回答中,我得到了一个提示<代码>UIScrollView的子类


这对我很有用。

因为:1。这不是一个肯定/否定的问题2。引用的链接也没有解决方案。