Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
如何使iphone视图布局自动调整大小和排列_Iphone_Layout_Uitableview_Xcode4.2 - Fatal编程技术网

如何使iphone视图布局自动调整大小和排列

如何使iphone视图布局自动调整大小和排列,iphone,layout,uitableview,xcode4.2,Iphone,Layout,Uitableview,Xcode4.2,在我的iphone应用程序中,我在一个带边框的单元格中有两个UITextView (65,22,210,25) (65,40,210,25) 我用不知道长度的字符串填充这个文本视图(从数据库检索) 我的问题分为两部分: 1-如果第一个文本视图超过其框架中的特定高度,它将超过第二个文本视图 2-当这些文本视图的高度越来越大时,我如何指定单元格的高度来容纳它们?我可以自动调整单元格大小吗 对于第一个问题,我目前的解决方案是在LayoutSubView中重新排列视图框架 对于第二个问题,我尝试计算文

在我的iphone应用程序中,我在一个带边框的单元格中有两个UITextView (65,22,210,25) (65,40,210,25) 我用不知道长度的字符串填充这个文本视图(从数据库检索) 我的问题分为两部分:

1-如果第一个文本视图超过其框架中的特定高度,它将超过第二个文本视图

2-当这些文本视图的高度越来越大时,我如何指定单元格的高度来容纳它们?我可以自动调整单元格大小吗

对于第一个问题,我目前的解决方案是在LayoutSubView中重新排列视图框架 对于第二个问题,我尝试计算文本视图的新高度,并将其传递给学员

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

有更好的解决方案吗?

您的方法是正确的。您可以使用
sizeWithFont:constrainedToSize:lineBreakMode:
确定文本大小,然后在
tableview:heightForRowAtIndexPath计算单元格高度(只需记住包括帧的Y值)

这里可以看到更多的代码:

您需要这样做 在你的

传递一个可以容纳适当高度的
textView
的高度。 然后在


相应地调整
textView
的高度,并在上述两种方法中使用
sizeWithFont:constrainedToSize:lineBreakMode:
确定所需的高度

UITextView的默认行为是,如果文本大于其当前高度,它将自动添加滚动。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath