防止UITableViewCell的textLabel帧更改设备旋转

时间:2011-12-17 17:45:39

标签: ios uitableview device-orientation landscape-portrait

我有一个简单的UITableViewController子类,其中包含一些UITableViewCell个。我在每个单元格上使用imageView和textLabel。

当我将设备旋转到纵向/横向时,textLabel的框架会发生变化。从纵向到横向旋转,这种变化很好。但是,当从横向旋转回纵向时,框架会变为“不正确”值(文本不恰当地对齐)。

我该如何解决这个问题?

我有一个类似的问题,imageViews的帧更改。我通过继承UITableViewCell并将框架设置为layoutSubviews中的正确值来解决这个问题。这里只有一个CGRect值我需要记住(我只是硬编码)。

textLabel不同:我需要跟踪两个帧(每个方向一个),我认为帧值取决于textLabel的文本。因此,向我的CGRect子类添加两个UITableViewCell实例变量是一个选项。但是我想有一个更简单的解决方案。

1 个答案:

答案 0 :(得分:0)

cell.textLabel.numberOfLines = 0;中的问题是cellForRowAtIndexPath。将numberOfLines设置为3解决了问题。

我还必须将self.textLabel.frame.origin.x设置为layoutSubviews中的硬编码值。

不确定我是否完全理解这里发生的事情。