2011-12-17 68 views
0

我有一個簡單的UITableViewController子類和幾個UITableViewCell s。我在每個單元格上使用imageView和textLabel。防止UITableViewCell的textLabel框架因設備旋轉而改變

當我將設備旋轉到縱向/橫向/從縱向/橫向時,textLabel的框架會發生變化。對於縱向旋轉,這種改變是很好的。但是,當從橫向旋轉回肖像時,畫面會變爲「不正確」的值(文字不恰當)。

我該如何解決這個問題?

我有一個類似的問題與imageViews的幀改變。我通過繼承UITableViewCell並將幀設置爲layoutSubviews中的正確值來解決此問題。這裏只有一個值得我記住的值(我只是硬編碼它)。

textLabel不同:我需要跟蹤兩個框架(每個方向一個框架),我認爲框架值將取決於textLabel的文本。因此,在我的UITableViewCell子類中添加兩個CGRect實例變量是一個選項。不過,我想有一個更簡單的解決方案。

回答

0

問題是cell.textLabel.numberOfLines = 0;cellForRowAtIndexPath。設置numberOfLines爲三解決了這個問題。

我還必須在layoutSubviews中將self.textLabel.frame.origin.x設置爲硬編碼值。

不知道我是否完全理解這裏發生了什麼。