我應該如何採取NSButton文本值,例如,如果我用2個按鈕與文本點擊和取消,我想檢查哪個按鈕被點擊,然後顯示與NSRunAlertPanel(...)的消息我點擊了哪個按鈕...什麼我應該在點擊按鈕時爲它寫代碼。如何獲取NSButton的文本值?
1
A
回答
1
在你的操作方法中,你會得到一個參數,通常命名爲'sender',它就是按鈕。所以,你可以這樣做:
- (IBAction)buttonClicked:(id)sender
{
if ([[sender title] isEqualToString:@"Click"]) {
NSLog(@"Click clicked.");
} else if ([[sender title] isEqualToString:@"Cancel"]) {
NSLog(@"Cancel clicked.");
}
}
這是最好不要使用標題檢查按鈕,因爲標題可以以不同的本地化修改。您可以指定tag
,它只是一個int值,可用於識別不同的發件人。
1
這是典型的實現方式是每個按鈕都會調用不同的動作,因此不需要檢查按鈕的文本。見The Target-Action Mechanism。
通常,使用用戶可見文本來控制程序邏輯幾乎總是一個壞主意,因爲這會使本地化變得更加困難。
您可能還想進一步描述您的情況。你使用Interface Builder來創建你的界面嗎?這些按鈕是模態對話框還是文檔窗口?
+0
好的,我明白你的觀點。我只是試圖嘗試,如果我能做到這一點,模式對話框,是的,我使用的界面生成器。 感謝您的指針.. :) – maddy 2009-09-09 08:16:37
1
您可以在Interface Builder的檢查器窗口的類信息選項卡中爲按鈕指定一個名稱,然後在您的應用程序委託中將其聲明爲IBOutlet。
AppDelegate.h:
IBOutlet NSButton *ClickButton;
IBOutlet NSButton *CancelButton;
然後掛接在界面生成器插座,只需要檢查哪個按鈕是在你的方法發件人:
- (IBAction)buttonClicked:(id)sender
{
if (sender == ClickButton) {
NSLog(@"Click clicked.");
}
else {
NSLog(@"Cancel clicked.");
}
}
相關問題
- 1. 如何獲取文本值
- 2. 如何獲取JRadioButton的文本值
- 3. 如何獲取對象的文本值?
- 4. 如何從XDocument獲取文本值?
- 5. 如何獲取多個文本框值?
- 6. gwt suggestionBox如何獲取文本,值對
- 7. 如何從OptionSet中獲取值/文本?
- 8. 如何獲取文本塊綁定值?
- 9. 如何在jQuery中獲取文本值?
- 10. C#如何從PasswordBox獲取文本值?
- 11. 獲取文本值
- 12. 如何從文本旁邊的文本框中獲取值
- 13. 獲取文本框的值
- 14. 獲取文本框的值
- 15. 獲取文本框的值
- 16. 獲取文本框的值
- 17. 如何獲取文本框的文本?
- 18. 如何獲得NSButton的首選大小?
- 19. 在NSTable中獲取NSButton的行
- 20. 如何在文本文件中獲取RGB值和座標值?
- 21. 帶圖像的NSButton - 如何獲取圖像子視圖?
- 22. 如何獲取NSButton的發件人名稱
- 23. NSButton的值爲1
- 24. 獲取NSCollectionViewItem NSButton的表示對象值點擊
- 25. 如何獲取同級td文本框值的值?
- 26. 如何獲取單選按鈕值中的文本框值php
- 27. 如何根據文本框中選定的值獲取值?
- 28. 獲取Rad數值文本框的值?
- 29. 從值中獲取文本
- 30. javascript/jquery ::獲取文本值?
感謝,它幫助我。我會盡量用標籤檢查它。 – maddy 2009-09-09 08:11:21