2015-05-04 52 views
-1

我試圖在UITableViewCell中插入很多視圖。 我添加視圖並計算所需的常量。我無法解決一個問題。內層標籤可以多行做大的時候UITableView只是初始化它正確地沒有顯示:一些裁剪標籤,錯誤高度等iOS爲什麼UIView只有在重新加載後才能正確顯示UITableView

enter image description here

但是當我重裝tableview中或滾動到底元素和滾動回到錯誤的一個單元格,所有視圖都能正確顯示

enter image description here

EDITED

例如:我有的UITableViewCell。每個單元格包含多個屬性(單獨的視圖)。每個屬性視圖都有標題(灰色文本)和屬性值(再次顯示單個視圖)。每個屬性值視圖可能有不同的高度。而且我認爲身高並沒有在第一時間計算正確。

當我首先構建UITableViewCell時,我構建了所有的屬性視圖,然後將每個視圖添加到單元格並計算常量。

+0

確保您已經正確設置了UITableView的y座標。 –

+0

您是否實現了UITableView代表' - tableView:heightForRowAtIndexPath:'您在哪裏計算指定行的高度(如果可能)?它肯定會讓你在你的標籤上調用'NSString -boundingRectWithSize:'方法,以便能夠從一開始就評估你的單元格所需的高度。 –

+0

請添加一些代碼,以便您更好地理解 – iPhone

回答

0

我已經解決了問題。

當我得到UITableViewCell時,它的框架寬度爲325,但tableView框架寬度爲375.由於這種內部視圖構建的方式不正確。現在我只是將cellView的contentView設置爲tableView框架。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let identifier = "ListCell" 
    var cell = tableView.dequeueReusableCellWithIdentifier(identifier) as? ListViewCell 

    cell!.contentView.frame = tableView.frame 

    // additional setup 

    return cell! 
} 
相關問題