Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 滚动到UITextView的末尾';s文本_Ios_Objective C_Uiscrollview_Uitextview - Fatal编程技术网

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>
viewdideappear
viewdideload
之后被调用。也许你应该把你的测量代码放在
viewdide
中,因为你不清楚你想要的结果是什么,而且从评论中听起来你有一个很好的解决方案。你能更新这个问题,让它看起来像在这个骇人但更好的解决方案,和/或更好地解释一下你上面的截图出了什么问题。
_descriptions.scrollEnabled = NO;
[_descriptions sizeToFit];
_infoScrollView.contentSize = CGSizeMake(_infoView.frame.size.width, _line.frame.origin.y + _descriptions.bounds.size.height);