-1

下面是我的结构。

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 内

我所说的分隔线是上图中的第一行。


编辑 1

我也尝试了下面的代码,但它仍然被拉伸到 304px。

UIImageView *mySep = (UIImageView*)[mainTableView viewWithTag:56565656];
[mySep setFrame:CGRectMake(0,0,288,2)];

编辑 2

我已经在dropbox上传了示例项目。

[mySep release];请从中删除该行- (void)scrollingFinish {。其他应用程序崩溃...

4

4 回答 4

3

我解决了你的问题。在表格视图中,您只能添加 2 个子视图,如页脚和页眉。一个在单元格上方,另一个在单元格下方。这些视图宽度等于 UITableview 宽度。所以当你做这样的事情时。不只是添加 UIImageview 先添加 UIView 并设置它的框架然后添加你的 UIImage 视图这里是 -Fahim Parkar 给出的固定示例项目

固定项目

于 2013-10-08T11:05:43.457 回答
0

你能检查你的细胞大小吗?

您是使用代码还是使用 Storyboard 创建单元格对象?

尝试调整图像视图的大小

- (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)];
于 2013-10-08T09:09:55.063 回答
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 会被拉伸,但图像将只有 288px。由于我们将 UIView 背景颜色设置为 clearColor,因此我们看不到拉伸视图。

于 2013-10-08T11:25:12.477 回答
0

我知道它很老的帖子,我也遇到了同样的问题,但我通过在自动布局中修复图像视图的高度来纠正它。

希望有帮助。

于 2015-05-27T12:28:09.323 回答