2015-10-05 85 views
2

我已經實現了類似於日曆應用程序實現它的內嵌日期選擇器,您可以點擊UITableViewCell並在其下面展開包含UIDatePicker的下一個單元格。現在我有一個日期選擇器作爲一節中的最後一行,所以默認情況下,separatorInset不在0上方的行,因爲它下面有另一個隱藏的單元格。因此,我需要通過將其設置爲UIEdgeInsetsZero來移除分隔符插入。但是您還必須刪除iOS 8中添加的單元格的layoutMargins,以便將分隔線移動到表格的最左側。這樣做後,單元格的textLabel不再與其他單元格的文本標籤對齊 - 它顯示得太離開了。UITableViewCell textLabel在刪除separatorInset後的對齊

那麼如何將分隔線設置爲從表格的最左側開始僅保留一個單元格,同時還將其文本標籤與其他單元格保持一致?請注意,我使用的是右側細節單元格樣式。

self.endTimeCell.separatorInset = UIEdgeInsetsZero 
self.endTimeCell.layoutMargins = UIEdgeInsetsZero 

enter image description here

回答

0

一種選擇是從所有細胞除去利潤,使他們都與一個特定的細胞,而不是試圖使一個單元與其他齊齊。這可以通過將整個表上的layoutMargins設置爲UIEdgeInsetsZero來完成。這可能並不理想,但它確實對齊了所有的單元格。

self.tableView.layoutMargins = UIEdgeInsetsZero 
self.endTimeCell.separatorInset = UIEdgeInsetsZero 
self.endTimeCell.layoutMargins = UIEdgeInsetsZero