gpt4 book ai didi

ios - UITextView setContentOffset :CGPointZero in layoutSubviews doesn't work in iOS8

转载 作者:行者123 更新时间:2023-12-01 18:44:49 25 4
gpt4 key购买 nike

我有一个 PopupView扩展 UIView .在 PopupView我有一个 UITextView .
PopupView秀,我的 UITextView不是从第一行开始(它会滚动到底部)
所以我使用下面的代码来滚动 UITextViewPopupView 之后置顶出现

- (void)layoutSubviews{
[super layoutSubviews];

[self.contentTextView setContentOffset:CGPointZero animated:NO];
}

它在 iOS9(设备和模拟器)中运行良好,但在 iOS8 中不起作用
任何想法来解决它。
任何帮助将不胜感激

更新

我发现 drawRect在 layoutSubviews 之后被调用,如果我 setContentOffset:CGPointZero在里面,它会工作
-(void)drawRect:(CGRect)rect{
[self.contentTextView setContentOffset:CGPointZero];
}

但是我找到了 drawRect的目的:

drawRect: - Implement this method if your view draws custom content. If your view does not do any custom drawing, avoid overriding this method.



好用吗 drawRect没有 layoutSubviews在我的情况下?

最佳答案

根据@longpham 指令,drawRect()将使用GPU,所以它不好。这是解决我的问题的解决方案

-(void)awakeFromNib{
[super awakeFromNib];
[self layoutIfNeeded]; // call layoutIfNeeded here to make layoutSubviews get called whenever layout change
}
- (void)layoutSubviews{
...
[self.contentTextView setContentOffset:CGPointZero];
}

关于ios - UITextView setContentOffset :CGPointZero in layoutSubviews doesn't work in iOS8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37152074/

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