如何UITableViewCell在表格视图中使用s 内的自动布局,让每个单元格的内容和子视图确定行高(本身/自动),同时保持平滑的滚动性能?
我正在使用自定义UITableViewCell,它有一些标签,按钮和图像视图可供显示.单元格中有一个标签,其文本是NSString对象,字符串的长度可以是可变的.由于这一点,我无法设置恒定的高度到细胞中UITableView的heightForCellAtIndex方法.细胞的高度取决于这可以使用被确定标签的高度NSString的sizeWithFont方法.我尝试过使用它,但看起来我在某个地方出错了.怎么修好?
这是用于初始化单元格的代码.
if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier])
{
self.selectionStyle = UITableViewCellSelectionStyleNone;
UIImage *image = [UIImage imageNamed:@"dot.png"];
imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(45.0,10.0,10,10);
headingTxt = [[UILabel alloc] initWithFrame: CGRectMake(60.0,0.0,150.0,post_hdg_ht)];
[headingTxt setContentMode: UIViewContentModeCenter];
headingTxt.text = postData.user_f_name;
headingTxt.font = [UIFont boldSystemFontOfSize:13];
headingTxt.textAlignment = UITextAlignmentLeft;
headingTxt.textColor = [UIColor blackColor];
dateTxt = [[UILabel alloc] initWithFrame:CGRectMake(55.0,23.0,150.0,post_date_ht)];
dateTxt.text = postData.created_dtm;
dateTxt.font = [UIFont italicSystemFontOfSize:11];
dateTxt.textAlignment = UITextAlignmentLeft;
dateTxt.textColor = [UIColor grayColor];
NSString * text1 …Run Code Online (Sandbox Code Playgroud) 你好有很多问题回答的动态高度的UITableViewCell的UITableView.但是当我这样做时,我发现它很奇怪.
这是一些答案:
通常这会回答细胞的动态高度
tableView.estimatedRowHeight = 44.0
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
但在我的情况下,我想知道这条线不会做任何事情.
UITableView单击splitview中的tabbar后,我正在查看我的内容.这有用吗?
也许我错过了什么.谁能帮助我,我花了2个小时做傻事.
这些是我对标题的约束,标题可能很长,但标签不是.

这是我的手机

可变长度的动态文本被注入tableview单元格标签.为了使tableview单元格的高度动态调整,我实现了viewDidLoad():
self.tableView.estimatedRowHeight = 88.0
self.tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
这适用于尚未UITableViewAutomaticDimention滚动到的单元格(在滚动到单元格时调用),但不适用于在加载具有数据的表格时最初在屏幕上呈现的单元格.
我试过简单地重新加载数据(如许多其他资源中所建议的):
self.tableView.reloadData()
Run Code Online (Sandbox Code Playgroud)
在这两个viewDidAppear()和viewWillAppear(),这是无济于事.我迷了..有没有人知道如何让xcode渲染最初在屏幕上加载的单元格的动态高度?
如果有更好的替代方法,请告诉我.
在WPF的View-Model-ViewModel模式下,我试图为网格控件的各种定义的高度和宽度进行数据绑定,因此我可以在使用GridSplitter后存储用户设置它们的值.但是,正常模式似乎不适用于这些特定属性.
注意:我发布这个作为参考问题,我发布谷歌失败了我,我不得不自己解决这个问题.我自己的答案可以遵循.
我有一个listView显示一些文本记录.我需要增加行的高度(在触摸屏上工作,所以我需要更粗的行)而不增加字体大小.
这可能是微不足道的,但我没有线索,在谷歌上找不到太多.
任何帮助赞赏.
我有一个显示图像的GridView,不幸的是,这些图像的大小不同.它们显示在两行文本之间:
text1.1 text1.2
ImageView(IMAGE1) ImageView(IMAGE2)
text2.1 text2.2
text3.1
ImageView(IMAGE3)
text4.1
Run Code Online (Sandbox Code Playgroud)
等等....
如果IMAGE1是相同的高度IMAGE2,一切都很好,但如果IMAGE1是长比IMAGE2,text2.1会碰上text3.1(填充似乎没有多大帮助,因为有太多的它,当图像的同样的高度).
我知道有一种方法可以在ImageView中拉伸图像,因此它们的高度相同,但是可以保持图像不变并以某种方式设置行高吗?
在我的storyboard文件中,我在UITableView中设计了多个原型单元.每个单元都有自己独特的Cell Identifier.
根据节和行,我将方法中的一个原型单元格取消 - tableView:cellForRowAtIndexPath:
对于大多数原型单元,我没有改变行高.在我的故事板上,它们的高度似乎取决于UITableView的"Size Inspector"下的"Row Height"属性.
对于一个原型单元格,我通过特定UITableViewCell的"Size Inspector"下的属性"Row Height"更改了高度.还会选中"自定义"复选框.
在我的故事板上,这似乎运作良好.但是在运行时,当我的单元格出列并添加到TableView时,所有单元格都会获得默认的行高.
现在,我知道方法tableView:heightForRowAtIndexPath:这在其他帖子中提到但是使用起来似乎有点奇怪,因为我已经在我的故事板中设置自定义行高.
有人知道为什么这个房产不起作用吗?这个属性是否可以在不同情况下使用?
谢谢
我想在listview中更改Item的/ Row的高度.
我找遍了那里,我想通,为了改变高度,我需要使用LBS_OWNERDRAWFIXED或MeasureItem或类似的东西.
问题是我不知道该做什么以及如何使用它.
任何人都可以帮助我吗?
编辑:
我不能使用ImageList黑客,因为我使用SmallImageList是真实的,我需要从ImageList图像大小不同的行高.
谢谢!
row-height ×10
uitableview ×6
ios ×5
swift ×3
listview ×2
objective-c ×2
wpf ×2
xcode ×2
android ×1
autolayout ×1
c# ×1
column-width ×1
data-binding ×1
grid ×1
gridview ×1
height ×1
layout ×1
listviewitem ×1
nsautolayout ×1