我有一個包含標準披露附件視圖的單元的UITableView。細胞本身並不太有趣。它在一個Storyboard中,使用AutoLayout。有一個右對齊的標籤。我也有一個部分標題,標籤對應於單元格的標籤。從iPhone 7+查看附加圖像。確定UITableViewCell的附件視圖的位置
我想獲得與該小區標籤對準的部分標題標籤(特別是水平條)。麻煩的是電池附件視圖,沒有保證的位置,並且所述位置將根據設備而變化。現有的佈局非常適合iPhone 7,但正如您在圖像中看到的那樣,由於附件視圖在7 Plus的左側位置更靠後,所以酒吧不對準。
我想要做的是找出附件視圖的位置,並相應地調整節標題。我想這樣做沒有凌亂的黑客 - 我喜歡我的代碼儘可能乾淨。我希望有一個操作系統常數或方法,我只是不知道,或確定配件視圖位置,從未改變已知的比例。
我已經遇到過這個問題,並且解決了我想要改進的各種方法。我想避免的事情:
- 獲取tableView寬度,並且如果它是iPhone 7 Plus,則通過像素的常量數目移動所有東西。清潔並可預測,直到新操作系統或設備寬度突破預期位置。
- 使用UITableViewCell作爲部分標題,包括部分標題中的附件視圖,在運行時查找附件視圖,並將其設置爲alpha = 0(或僅刪除附件圖像)。我在單元格中完成了這項工作,我需要類似的對齊方式(一些單元格帶附件,另一些單元格沒有)我只是想着它而嘔吐一下。
- 在佈局後獲取單元格的最右邊標籤位置,並將該位置發送到部分標題,部分標題將使用它來更新標籤位置(通過調整自動佈局約束)。它應該工作,但雜亂的消息不符合我的「乾淨的代碼」的願望。
所以我很好奇其他方式來解決這個問題,希望清潔的方式,但即使我沒有想過的方式。謝謝!