将UITableCell图像定位到左边框

时间:2015-06-07 13:40:38

标签: ios

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

我想把它准确地放在屏幕的左边缘(默认情况下它们之间没有空格)。

第一张照片是我的(默认的tableView和单元格),第二张是我尝试做的。

enter image description here

无论我在frame上尝试(boundsCGAffineTransformcell.imageView),边缘和图像之间总会有一个空格,它是' s像iOS一样阻止这种行为。

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

解决方案

#import "ResultCell.h"

@implementation ResultCell 

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

@end

有关详细信息,请参阅@matt答案。

1 个答案:

答案 0 :(得分:2)

  

它像iOS一样阻止了这种行为

你是对的。您正在重新定位图像视图,但随后单元格正在进行并将其再次放回layoutSubviews

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

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

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