我已經創建了自定義UITableViewCell並添加了一個標籤以顯示產品名稱並根據需求選擇數量我已創建自定義視圖,並帶有2個滾動視圖以選擇00到99之間的數字(每個滾動視圖顯示0到9數字,所以我創建了標籤並添加到滾動視圖)。現在用戶可以滾動以設置在tableview中顯示的每個產品的首選數量。自定義UITableViewCell數據捕獲
我的疑問是如何在點擊更新數量按鈕時,爲每個產品存儲用戶選擇的數量。
我已經創建了自定義UITableViewCell並添加了一個標籤以顯示產品名稱並根據需求選擇數量我已創建自定義視圖,並帶有2個滾動視圖以選擇00到99之間的數字(每個滾動視圖顯示0到9數字,所以我創建了標籤並添加到滾動視圖)。現在用戶可以滾動以設置在tableview中顯示的每個產品的首選數量。自定義UITableViewCell數據捕獲
我的疑問是如何在點擊更新數量按鈕時,爲每個產品存儲用戶選擇的數量。
這很簡單,不用擔心整個表。只要檢查一行。休息將輕鬆完成。我假設你有UITableView和UITableviewCell的子類(但是,這不是必需的,但是它是很好的實踐)。
首先,爲您的UITableView代表:
-(void)didSelectQuantity:(NSUInteger)quantity forIndexPath:(NSIndexpath)indexPath.
其次,封裝項目的信息。
// Assume class NSProduct with property itemName,quantity,etc.. In your controller @property(nonatomic,retain)NSArray *productArray /*Array of NSProduct*/;
三,在你的UITableViewCell實現這個logic但 滾動視圖(我建議使用這裏pickerview或一個UITableView輕鬆地獲得選擇的值。否則,你需要自己的邏輯在這裏找出選擇價值滾動結束時)
- (void)valueSelected:(id)sender { CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView]; NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition]; if (indexPath != nil) { // call delegate. } }
蘋果有示出了如何使用的tableview內pickerview解決這樣的問題的很好的例子。 check here
爲此,您必須實現滾動視圖委託方法scrollViewDidEndDragging。在這種方法中,您將獲得滾動滾動結束狀態,您可以跟蹤當前選定的數字。
但我的建議是使用一個自定義數字選擇器用於此目的。你可以在這裏看到一些例子。
https://www.cocoacontrols.com/controls/slnumberpickerview
http://code4app.net/ios/Dial-Controller/4f86e54806f6e71016000000
您需要處理數量標籤的水龍頭事件和控管數量分配到相應的單元格的數據源。 – HRM