Ios 滚动到UITextView的末尾';s文本
我在视图中有一些内容(如图像、标签),最后一项是描述(Ios 滚动到UITextView的末尾';s文本,ios,objective-c,uiscrollview,uitextview,Ios,Objective C,Uiscrollview,Uitextview,我在视图中有一些内容(如图像、标签),最后一项是描述(UITextView)。现在,我尝试根据UITextView文本动态滚动内容。这是我的密码: - (void)viewDidAppear:(BOOL)animated { _descriptions.scrollEnabled = NO; [_descriptions sizeToFit]; _infoScrollView.contentSize = CGSizeMake(_contentsOnInfoView.f
UITextView
)。现在,我尝试根据UITextView
文本动态滚动内容。这是我的密码:
- (void)viewDidAppear:(BOOL)animated {
_descriptions.scrollEnabled = NO;
[_descriptions sizeToFit];
_infoScrollView.contentSize = CGSizeMake(_contentsOnInfoView.frame.size.width,
_contentsOnInfoView.frame.size.height + _descriptions.frame.size.height);
}
结果如下:
正如你所看到的,有很多空的空间。我需要滚动到文本的末尾。我建议您试试这个
[myTextView scrollRangeToVisible:NSMakeRange([myTextView.text length], 0)]
你应该用英语写代码
-(void) viewDidLayoutSubviews {}
在该方法中,所有组件都根据运行设备的大小具有框架。并在显示视图之前执行。我刚刚找到答案,在UI中有一行将描述和一些信息分开!我只需计算行的
y
,并用说明高度
进行总结:
_descriptions.scrollEnabled = NO;
[_descriptions sizeToFit];
_infoScrollView.contentSize = CGSizeMake(_infoView.frame.size.width, _line.frame.origin.y + _descriptions.bounds.size.height);
现在它工作得很好
\u descriptions.text.length
-hm,您使用文本长度来测量高度?因为文本输入是动态的。对我做得对吗@施密特9如果\u descriptions
是您的文本字段,那么您应该这样测量,我认为:\u infoScrollView.contentSize=CGSizeMake(\u contentsoninfo.frame.size.width,\u contentsoninfo.frame.size.height+\u descriptions.frame.size.height)调用[\u descriptions sizeToFit]后的code>据我所知,code>viewdideappear
在viewdideload
之后被调用。也许你应该把你的测量代码放在viewdide
中,因为你不清楚你想要的结果是什么,而且从评论中听起来你有一个很好的解决方案。你能更新这个问题,让它看起来像在这个骇人但更好的解决方案,和/或更好地解释一下你上面的截图出了什么问题。
_descriptions.scrollEnabled = NO;
[_descriptions sizeToFit];
_infoScrollView.contentSize = CGSizeMake(_infoView.frame.size.width, _line.frame.origin.y + _descriptions.bounds.size.height);