例如,我在所有視圖控制器中有兩個相同的按鈕。這些按鈕的反應在所有視圖控制器中都是相同的。我如何使這個功能在普通的類中使用,並在每個視圖控制器中使用這個類或對象?如何委託功能或設計到其他UIViewController
回答
當您添加幾個目標/行動按鈕,你可以將目標設定爲一個特定的類:
[button1 addTarget:myOtherClassInstance action:@selector(doSomethingAction:) forControlEvents:UIControlEventTouchUpInside];
[button2 addTarget:myOtherClassInstance action:@selector(doSomethingAction2:) forControlEvents:UIControlEventTouchUpInside];
,並在myOtherClass.m
- (void)doSomethingAction:(id)sender {
//Do something and maybe check the sender
}
- (void)doSomethingAction2:(id)sender {
//Do some other thing and maybe check the sender
}
謝謝,但我如何在普通課堂上製作圖形? – George
在這種情況下,您應該使用2個按鈕爲組件創建單獨的VC(我們稱它爲buttonsVC)。在主VC中,您引用buttonsVC和mainVC viewDidLoad,[mainVC.view addSubView:buttonsVC.view]。這是整合的第一步,查看本文以獲取更多有關VC生命週期和VC容器的信息:http://subjective-objective-c.blogspot.ch/2011/08/writing-high-quality-view -controller.html –
我可以在一個View Controller上有幾個VC嗎? – George
你可以把動作方法,並將按鈕點擊事件鏈接到這種方法是這樣的
[yourButton addTarget:yourDelegate action:@selector(yourmethod:) forControlEvents:UIControlEventTouchUpInside];
- 1. 從appdelegate設置UIViewController委託
- 2. 在UIViewController之外設置委託?
- 3. 委託功能,如何傳遞參考?
- 4. 如何委託查詢功能
- 5. 如何模仿ASP.NET AjaxOptions委託功能?
- 6. UIViewController UIImagePickerController到其他UIViewController
- 7. Func委託與功能
- 8. PHP變量委託功能
- 9. 參數傳遞到委託功能
- 10. 如何返回委託功能或C#中的lambda表達式?
- 11. 如何設置其他功能全景
- 12. UIPickerView DataSource x委託設計
- 13. 如何在非UIVIewController單例中設置委託? (iOS)
- 14. php - proc_open(或其他功能)
- 15. iOS:委託VC不直接連接到其他VC的委託困境
- 16. 如何設置tableview委託
- 17. 如何設置委託
- 18. 如何在其他功能
- 19. UIControllerView不能從委託功能
- 20. 將財產委託給其他財產
- 21. Caliburn.Micro - 是否可以將事件綁定到System.Action或任何其他委託?
- 22. 如何在調用UITableview委託在uiviewcontroller中委託方法之前調用NSURLConnection委託方法
- 23. 其他任何人遇到麻煩w/JSONKit和委託?
- 24. 減少代碼與通用委託或以其他方式
- 25. 在其他控制器中設置textField委託?
- 26. 如何在ViewController已經有委託時設置委託?
- 27. 設置委託給自己的委託?
- 28. 功能與其他功能
- 29. 如何將Windows Azure帳戶委託給其他Live ID帳戶
- 30. 如何將where子句的部分委託給其他區域
並且我的圖形在繼承的視圖控制器中是否正確顯示? (如果圖形是在界面生成器中創建的) – George
是對應於它所觸發的相同視圖控制器的反應。 – AppleDelegate
是的,它看起來是正確的,但如果2個ViewController做不同的事情,也許你想照顧另一個類中的動作。 –