2016-02-12 87 views
0

我正在開發允許用戶像instagram一樣分享照片的應用程序。用戶可以發佈帶或不帶標題的照片,因此標題可能爲空,照片仍會發布到其供稿中。我的客戶希望在標題爲空時刪除視圖,並使用帶有自動佈局的uitableview單元格來顯示帖子。當我試圖將captionview高度約束連接到我的視圖控制器時,它給我一個錯誤,它說約束插座不能連接到重複內容。所以,我試圖在我的代碼中做到這一點,但它並沒有改變任何東西。如何以編程方式更改uitableviewcell的子視圖?

let captionString = object["caption"] as? String 
    let captionView = cell.contentView.viewWithTag(111) 

    if captionString == ""{ 

     captionView?.frame = CGRectMake(0 , 0, captionView!.frame.width, 0) 

    }else{ 


     (cell.contentView.viewWithTag(12) as! UILabel).text = captionString 

    } 

我把上面的代碼裏面的tableView(的tableView:UITableView的,的cellForRowAtIndexPath indexPath:NSIndexPath) - >的UITableViewCell,我給約束在裏面的UITableViewCell每個視圖,所以如果我可以改變captionView高度其它視圖將自動調整大小。我怎樣才能改變captionView的高度?

回答

0

相關信息here

當您使用自動佈局功能無效且無法正常工作時,無法設置框架。

要麼有兩種不同樣式的單元格,並根據數據可用性選擇要脫離的單元格之一,要麼添加約束條件以便可以將標籤高度摺疊爲零。

+0

因此,要做到這一點的唯一方法是通過對細胞產生的子類?你能給我任何相關的鏈接,我該怎麼做? –

+0

這是你應該做的方式,用標籤你的方法可以工作,但它不是一個很好的解決方案 – Wain

+0

如何與viewwithtag辦呢?爲什麼它不是一個好的解決方案? –

0

您可以創建高度約束的出口,並設置高度爲0

像爲:

@IBOutlet VAR captionViewHeightConstraint:NSLayoutConstraint! captionViewHeightConstraint.constant = 0

相關問題