我有一個uiviewcontroller。在這個視圖中,有一個按鈕,當點擊該按鈕時,它應該彈出,如「對話框」,它要求用戶輸入一些值。一旦用戶輸入值,它會有另一個自定義(帶背景圖像)「確認診斷框」,它有2個按鈕,是和否。這個「確認對話框」可能會被其他類重新使用。我已閱讀關於「委託和數據源」的蘋果文檔以及關於委託功能的幾個問題,但我仍不確定是否應使用委託功能。有什麼想法嗎?爲彈出消息創建自定義委託函數或自定義UIView?
0
A
回答
1
代表是非常有用的,但他們與協議齊頭並進。協議允許您定義一種「合約」來確保委託人對這些方法做出響應。例如,您可以添加一個名爲UIConfirmBoxDelegate
協議,並有一個方法:然後
- (void)confirmBox:(UIConfirmBox*)box didChoose:(ButtonEnum)button;
您的委派對象必須同時實現您的協議和這種方法。第一個參數是發送委託消息的對象(它似乎是約定,在這方面非常有用),第二個參數是枚舉值,指示哪個按鈕被點擊。這應該允許您在未來輕鬆添加更多按鈕(可能是,否,取消?)。
您可以(也可能應該)read more about protocols和defining enums(這是上述方法的第二個參數)。
要回答在評論一個新的問題:如何使用代表團獲得UISlider
的價值。您可以使用每次操縱滑塊時觸發的委託。只要有一個新的委託功能,如:
- (void)confirmBox:(UIConfirmBox*)box didChangeSlider:(UISlider*)slider;
和確認框和滑塊「整體出售」傳遞給委託做需要。如果你不想傳遞一個指針到整個滑塊,你也可以讓它傳遞值。只需將該消息發送給IBAction
內的代理人,以響應您的滑塊值更改,並且您應該設置爲繼續。
相關問題
- 1. 自定義彈出消息
- 2. 如何爲UIView子類創建自定義委託協議?
- 3. 自定義UIView的tableView委託方法
- 4. iOS:彈出自定義UIView
- 5. 創建自定義UIView
- 6. 自定義UIView作爲UITableView委託和數據源?
- 7. 自定義委託爲空iOS
- 8. 如何爲彈簧web流定義自定義消息源?
- 9. 自定義UICollectionView數據源和委託
- 10. 自定義彈出或微調爲Android
- 11. 如何從自定義函數中調用委託函數?
- 12. 我可以將自定義委託添加到自定義CALayer
- 13. 彈簧自定義驗證消息
- 14. UIWebView或自定義UIView
- 15. JS - 爲自定義js對象創建用戶定義函數
- 16. 用NIB創建自定義UIView
- 17. 創建自定義的UIView繪製
- 18. 創建自定義UIView的問題
- 19. 如何創建自定義UIView?
- 20. 創建自定義模糊UIView
- 21. 用自定義形狀創建UIView
- 22. 自定義UIView委託沒有檢測到touchesBegan
- 23. 在哪裏設置UiTextField委託方法在自定義UiView中
- 24. 自定義UIView自定義UITableViewCell
- 25. EXC_BAD_ACCESS自定義UIView與自定義XIB
- 26. 如何在iOS 8中創建自定義委託?
- 27. 有可能在AppDelegate中創建一個自定義委託?
- 28. 如何創建的UITextField的自定義委託目標C
- 29. 如何創建委託給ngModel的自定義AngularJS指令?
- 30. 在UIView/UIViewController關係中定義委託
+1代表團。 Objective-C鼓勵最好的設計模式之一。 – Sam 2011-05-03 05:41:23
不錯!在確認框中,我有一個用戶輸入值(我使用UISlider獲取他/她想購買的物品數量)?我如何得到這個價值? – 2011-05-03 06:06:12
答覆已更新。 – 2011-05-03 06:22:53