【发布时间】:2012-06-05 17:32:23
【问题描述】:
我有一个子类UITableViewCell,我正在为其设置imageView。我想让它保持在 60x60,所以我在我的子类的 layoutSubviews 方法中设置了 frame 和 bounds:
- (void)layoutSubviews {
[super layoutSubviews];
self.imageView.bounds = CGRectMake(10,10,60,60);
self.imageView.frame = CGRectMake(10,10,60,60);
self.imageView.clipsToBounds = YES;
}//end
这很好用,直到我的图像超出了imageView 的范围:
因此,我确保将 clipsToBounds 设置为 YES:
但正如您所见,它仍然缩进 textLabel 和 detailTextLabel,尽管我认为不应该这样做。
我该如何解决这个问题?
【问题讨论】:
-
如果 textLabel 和 detailTextLabel 右对齐,您是否尝试过设置文本对齐方式?
-
这样设置边界和框架是多余的。设置框架隐式设置边界。并不是说这在这里有什么不同。
-
如果您要进行子类化,我建议不要使用内置子视图(
imageView、textLabel、detailTextLabel),因为基类会以不受欢迎的方式为您重新定位它们。只需创建并添加您自己的图像视图和标签(在init或awakeFromNib中)。 -
@warrenm 是的,我想我应该创建自己的
imageView,但我只是想看看我是否错过了一些简单的方法。
标签: ios cocoa-touch uitableview uiimageview