gpt4 book ai didi

ios - 显示键盘时,Popover 内的 UIScrollView 内的 UITextView 不完全可见

转载 作者:可可西里 更新时间:2023-11-01 04:47:21 27 4
gpt4 key购买 nike

我有一个 UIPopover,里面有一个 UIScrollView,底部有一个 UITextView。当键盘显示时,弹出窗口会随着 TextView 开始编辑而调整大小。我想要下面的代码来确保 TextView 可见:

- (void)textViewDidBeginEditing:(UITextView *)textView {

CGRect visRect = textView.frame;
[self.scrollView scrollRectToVisible:visRect animated:NO];

}

问题是代码没有使整个 TextView 可见。相反,仅显示光标底部的 TextView ,如下所示:

enter image description here

如何显示整个 TextView /将 ScrollView 滚动到底部?我试过这个:

CGPoint bottomOffset = CGPointMake(0, self.scrollView.contentSize.height - self.scrollView.bounds.size.height);
[self.scrollView setContentOffset:bottomOffset animated:YES];

解释为 in this answer但没有任何效果。

此外,在键盘移动到位后,我的 ScrollView 滚动到显示的位置。理想情况下,我希望滚动发生在键盘移动之前或期间。

任何帮助都会很棒。

最佳答案

@嘿戴夫

默认情况下 UIPopOverController,每当我们使用 UIPopOverControler 显示任何 PopUpView 并假设 PopUpView 高度可以被 KeyBoard 覆盖那么在这种情况下 PopOverView 会自动收缩。当你放弃键盘时,PopUpView 会自动展开。我遇到过同样的情况。

这只是我的意见 ,您可以更改 CurrentView(parentView of PopUpView) 的来源,因为键盘将显示/隐藏,以便 PopUpView 可以正确显示自身并获得适当的空间。

请参阅下面是 UITextView 的委托(delegate)方法在编辑开始和结束时响应。

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
//chnage the OriginY of PopUpView's SUperView
}
- (void)textViewDidBeginEditing:(UITextView *)textView
{
//re Adjust the OriginY of PopUpView's SUperView
}

希望对您有所帮助。

关于ios - 显示键盘时,Popover 内的 UIScrollView 内的 UITextView 不完全可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16479463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com