我有一个自定义 UITableViewCell,其中包含多个 UIButton。每个按钮的框架位置都相对于单元格宽度。我设置了 autoresizingMask=UIViewAutoresizingFlexibleWidth,这样当应用程序以横向或纵向模式的设备启动时,它将正确调整单元格宽度和按钮位置。
问题是当设备从一种模式旋转到另一种模式时,按钮不会调整位置,因为 UITableViewCell 是可重用的。换句话说,单元格不会根据新的 UITalbeView 宽度进行初始化,因为单元格的函数 initWithStyle 在设备旋转之前被调用,并且在设备旋转之后不会再次调用。有什么建议么?
由于 UITableViewCell 也是一个 UIView,因此您可以重写 setFrame 方法。每次表格视图旋转时,都会为所有单元格调用此方法。
-(void)setFrame:(CGRect)frame
{
[super setFrame:frame];
//Do your rotation stuffs here :)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)