Ios 将UITableCell图像定位到左边框

Ios 将UITableCell图像定位到左边框,ios,Ios,我有一个带有UIImageView的原型单元 我想把它精确地定位在屏幕的左边缘(默认情况下,中间没有空格) 第一张图片是我拥有的(默认的tableView和单元格),第二张是我尝试做的事情 无论我在cell.imageView上尝试什么(frame,bounds,CGAffineTransform),边缘和图像之间总是有一个空间,就像iOS阻止这种行为一样 我没有使用AutoLayout,我希望以编程方式执行此操作 解决方案 #import "ResultCell.h" @implement

我有一个带有UIImageView的原型单元

我想把它精确地定位在屏幕的左边缘(默认情况下,中间没有空格)

第一张图片是我拥有的(默认的tableView和单元格),第二张是我尝试做的事情

无论我在
cell.imageView
上尝试什么(
frame
bounds
CGAffineTransform
),边缘和图像之间总是有一个空间,就像iOS阻止这种行为一样

我没有使用AutoLayout,我希望以编程方式执行此操作

解决方案

#import "ResultCell.h"

@implementation ResultCell 

-(void) layoutSubviews {
[super layoutSubviews];
self.imageView.frame = CGRectMake(-10,0,10,10);
}

@end
有关更多详细信息,请参阅@matt answer

就像iOS阻止了这种行为

你完全正确。您正在重新定位图像视图,但随后单元格出现,并将其重新定位到其
布局子视图中

解决方案是使用自定义单元格类,在该类中覆盖
layoutSubviews
。例如:

class MyCell : UITableViewCell {
    override func layoutSubviews() {
        super.layoutSubviews()
        self.imageView!.frame.origin.x = 0
    }
}

当然,为了确保实际使用的是MyCell实例而不是默认的UITableViewCell,您必须做出各种其他安排。但这是留给读者的练习

你能在这里发布你的相关代码吗?你能通过图像或类似的方式发布你的需求吗?你目前得到的是什么。问题是图像视图没有进入单元格的边缘,还是表格视图没有进入屏幕的边缘?您如何定位表视图本身?@rdelmar第一个命题,表是默认的。用图片查看更新的答案。@RajatDeepSingh我添加了一个示例图片。在我的书中详细讨论:-它还提供了其他我认为更好的方法,即提供您自己的自定义子视图,而不使用默认的
imageView
。嗨@kursus-让我们调试它吧!首先,在
layoutSubviews
中放置一个断点,让我们确保它甚至被调用,并且
self.imageView
不是零。然后我们可以从那里开始…顺便说一句,你可以看到它确实有效,只需下载并运行这个示例项目:谢谢你,我会比较一下,看看我做错了什么!好的,我打电话给insertRow的一个标准手机,它正在工作,非常感谢!