以下是我的结构。
UITableView (304px)
- UIImageView (as seperator line) (I want this to be 288px) but it stretched to 304 px.
- UITableViewCell (304 px)
- UIImageView (background for cell) (288px)
- Label 1 for text display
- Label 2 for text display
我正在拉伸UITableView只是为了在黄色部分的末尾采用滚动条,如图所示。
除分隔线外,一切都很完美。
即使我将宽度设置为288并单击其他位置并返回以查看UIImageView的宽度,它也会自动更改为304(即UITableView宽度)。
知道为什么会这样,以及如何制作288像素的分隔线。
注意
分隔线位于UITableViewCell之上。不在UITableViewCell
中我所说的分隔线是上图中的第一行。
我也尝试使用下面的代码,但仍然将其扩展到304px。
UIImageView *mySep = (UIImageView*)[mainTableView viewWithTag:56565656];
[mySep setFrame:CGRectMake(0,0,288,2)];
我已在dropbox上传了示例项目。
请从[mySep release];
删除- (void)scrollingFinish {
行。其他应用程序崩溃了......
答案 0 :(得分:3)
我解决了你的问题。在表格视图中,您只能添加2个子视图,如页脚和页眉。一个在细胞上方另一个在下面。这些视图宽度等于UITableview宽度。所以,当你做那样的事情。不只是添加UIImageview首先添加UIView并设置其框架然后添加你的UIImage视图这里是-Fahim Parkar给出的固定示例项目
答案 1 :(得分:0)
你能检查你的细胞大小吗?
您是使用代码还是使用Storyboard创建单元格对象?
尝试在
中调整imageview的大小- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UIImageView *seperator = (UIImageView*)[cell viewWithTag:_sepTag];
[seperator setFrame:CGRectMake(8,seperator.frame.origin.y,288,seperator.frame.size.height)];
答案 2 :(得分:0)
这是我修复的方式。
我可以说好的作弊。我添加了UIView并将分隔线放在UIView中。将UIView背景颜色设置为clearColor,让UIView尽可能多地伸展。
UITableView (304px)
- UIView (have width as 304px OR 288px, but background color will be clearColor. This is very important).
- UIImageView (as seperator line) (This will be 288px).
- UITableViewCell (304 px)
- UIImageView (background for cell) (288px)
- Label 1 for text display
- Label 2 for text display
所以会发生什么是UIView会伸展,但图像只有288像素。由于我们将UIView背景颜色设置为clearColor,因此无法看到拉伸视图。
答案 3 :(得分:0)
我知道它很老的帖子,我也有同样的问题,但我通过修复自动布局中图像视图的高度来纠正它。
希望有所帮助。