我有一个显示自定义单元格的视图表视图。这些单元有一个UIImageView,如果设备处于横向模式,则需要对其进行缩放。
我将autoresizingMask of tableView设置为UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth,对自定义单元格和UIImageView也做了同样的设置。
我的问题是,为UIImageView设置autoresizingMask可以改变视图的框架,而不需要设备的任何旋转。
这是我的UIImageView初始化代码。
- (UIImageView *)bigImageView
{
if (!_bigImageView)
{
_bigImageView = [[UIImageView alloc] initWithFrame:(CGRect){2, [self.header getHeight], 272, 272}];
[_bigImageView setImage:[UIImage imageNamed:@"square.png"]];
[_bigImageView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[_bigImageView setBackgroundColor:[UIColor redColor]];
}
return _bigImageView;
}宽度应为272,但自动更改为232。
autoresizingMask 的预期结果应该是:

,但我明白:

这一比例已不再受到尊重。
发布于 2012-12-30 12:15:04
这是因为每个细胞从44点的高度开始。你可以在init里查一下。
也许您可以在drawRect:或layoutSubviews中更正单元格元素的大小。
https://stackoverflow.com/questions/14090522
复制相似问题