gpt4 book ai didi

iphone - 如何阻止UITextView进入时向上滚动

转载 作者:行者123 更新时间:2023-12-03 18:15:21 25 4
gpt4 key购买 nike

我有一个 UITextView 包含在 UITableViewCell 中。最初显示 View 时,布局是正确的,但是一旦我单击 UITextView,它会自动向上滚动一点,并且第一行的上半部分字符变得不可见。

此图像是 UITextView 未激活时的图像:
UITextView not active http://gerodt.homeip.net/uitextview-notactive.png

这是当我单击 UITextView 使其处于事件状态时:
UITextView active http://gerodt.homeip.net/uitextview-active.png

我根本不让 UITextView 向上滚动,它应该简单地保持固定。我怎样才能实现这个目标?我已经在 Interface Builder 中尝试了多种设置,但到目前为止还没有成功。

如有任何建议,我们将不胜感激。

下罗

最佳答案

UITextView 是 UIScrollView 的子类,因此它具有可配置的 contentInset 属性。不幸的是,如果您尝试更改 UITextView 实例上的 contentInset,底部边缘插入总是重置为 32。我之前在使用短 UITextView 框架时遇到过这种情况,并发现这是一个问题。我怀疑这就是导致您出现问题的原因,但您应该在调试器中检查 textview 的 contentInset 以确定。

解决方法/解决方案很简单:子类化 UITextView 并重写 contentInset 方法,以便它始终返回 UIEdgeInsetZero。试试这个:

//
// BCTextView
//
// UITextView seems to automatically be resetting the contentInset
// bottom margin to 32.0f, causing strange scroll behavior in our small
// textView. Maybe there is a setting for this, but it seems like odd behavior.
// override contentInset to always be zero.
//
@interface BCZeroEdgeTextView : UITextView
@end

@implementation BCZeroEdgeTextView

- (UIEdgeInsets) contentInset { return UIEdgeInsetsZero; }

@end

关于iphone - 如何阻止UITextView进入时向上滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1178010/

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