![](/img/trans.png)
[英]What is the best way to increment NSDateComponents in specific intervals in Objective-C?
[英]What is the best way to implement this scrolling UI in Objective-C?
我正在嘗試實現下圖所示的界面視圖。
該UI由三部分組成,藍色標簽,箭頭標簽和灰色標簽。
在此UI中,需要滿足以下要求。
目前,我認為通過UITableView和自定義表格單元來實現此UI是很好的。 但是我不確定如何實現它,特別是在藍色標簽之間顯示箭頭標簽,在灰色標簽之前附加新的藍色標簽。
有沒有一種很好的方法可以在UITableView中輕松實現這些功能? 或者,還有其他方法可以做到,例如使用UIScrollView嗎?
您的想法和幫助將不勝感激。
如果您要針對iOS9進行構建,則可以使用UIStackView,它非常易於使用並且符合您的要求。您必須將UIStackview與scrollview結合使用。 對於示例,您可以使用以下鏈接中的代碼。
不要使用UIScrollView。 隨着藍色單元格數量的增加,您將使用越來越多的內存。 正確使用UITableView可確保隨着單元格數組長度的增加,內存使用保持固定(UI的內存)。
您在這里有兩個基本選擇:
多個部分,或單個部分。
具有多個部分,每個UITableViewCell是一個藍色單元格。 將UITableViewSectionFooter用於箭頭單元格。 這樣可以確保每個藍色單元格始終有一個箭頭單元格。
在單個部分中,單元數= #ofbluecells *2。然后,使用indexPath.row%2決定是否出隊藍色單元格或箭頭單元格。
無論采用哪種方法,都應使用UITableViewFooterView進行“添加新單元格”行為。
無論采用哪種方法,都可以通過更新數據模型(很可能是數組)然后調用[tableView beginUpdates]來刪除單元格; [tableViewDeleteRowsAtIndexPaths:]; [tableView endUpdates];
要插入一個新的藍色單元格,與刪除相同,只不過要添加到數組中。
無論采用哪種方法,都不必管理單獨的箭頭單元陣列。 如果點擊箭頭單元格無濟於事,我個人將每個藍色單元格分成1個部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.