2017-08-08 43 views
0

我有一個包含標準披露附件視圖的單元的UITableView。細胞本身並不太有趣。它在一個Storyboard中,使用AutoLayout。有一個右對齊的標籤。我也有一個部分標題,標籤對應於單元格的標籤。從iPhone 7+查看附加圖像。確定UITableViewCell的附件視圖的位置

Section header and two cells

我想獲得與該小區標籤對準的部分標題標籤(特別是水平條)。麻煩的是電池附件視圖,沒有保證的位置,並且所述位置將根據設備而變化。現有的佈局非常適合iPhone 7,但正如您在圖像中看到的那樣,由於附件視圖在7 Plus的左側位置更靠後,所以酒吧不對準。

我想要做的是找出附件視圖的位置,並相應地調整節標題。我想這樣做沒有凌亂的黑客 - 我喜歡我的代碼儘可能乾淨。我希望有一個操作系統常數或方法,我只是不知道,或確定配件視圖位置,從未改變已知的比例。

我已經遇到過這個問題,並且解決了我想要改進的各種方法。我想避免的事情:

  • 獲取tableView寬度,並且如果它是iPhone 7 Plus,則通過像素的常量數目移動所有東西。清潔並可預測,直到新操作系統或設備寬度突破預期位置。
  • 使用UITableViewCell作爲部分標題,包括部分標題中的附件視圖,在運行時查找附件視圖,並將其設置爲alpha = 0(或僅刪除附件圖像)。我在單元格中完成了這項工作,我需要類似的對齊方式(一些單元格帶附件,另一些單元格沒有)我只是想着它而嘔吐一下。
  • 在佈局後獲取單元格的最右邊標籤位置,並將該位置發送到部分標題,部分標題將使用它來更新標籤位置(通過調整自動佈局約束)。它應該工作,但雜亂的消息不符合我的「乾淨的代碼」的願望。

所以我很好奇其他方式來解決這個問題,希望清潔的方式,但即使我沒有想過的方式。謝謝!

回答

0

我認爲最簡單和更少混亂的方式來解決這將創建完全自定義單元格和標題視圖。如果您自己創建這些單元格和標題的佈局,那麼您將可以完全控制它 - 您可以完全按照它們現在的設計方式進行設計,但是通過正確的約束條件,您可以保證每個視圖的位置和調整位置,如果真的有必要的話。

相關問題