2012-08-02 114 views
4

我正在顯示帶有自定義視圖和三個按鈕的NSAlert。自定義視圖有兩個文本字段,它允許用戶登錄。單擊按鈕時不要關閉NSAlert

在Mac App Store中,出現了一個具有類似設計的NSAlert。當用戶單擊登錄按鈕時,NSAlert不會解除(直到證書被驗證)。 Apple如何保持警戒狀態?

回答

8

獲取想要改變行爲的NSButton。改變目標和行動。或者(通過調用原始目標/行動,保護他們,你改變他們之前。)

NSAlert *alert = ...; 
NSButton *button = [[alert buttons] objectAtIndex:...]; 

id oldTarget = [button target]; 
SEL oldAction = [button action]; 
[button setTarget:self]; 
[button setAction:@selector(verifyCredentials:)]; 

,你可能想建立警報爲自定義窗控制器與廈門國際銀行(這是蘋果如何做到了在在App Store的情況下)。在這種情況下,您可以對按鈕行爲進行細化控制。

+0

很棒的回答。它提出了這樣一個觀點:App Store不會破解NSAlert,並解釋如何做到這一點,而且還解釋瞭如何做到OP認爲他想要的內容,都非常簡明扼要。 – abarnert 2012-08-03 00:35:19

+0

如何在該方法中解僱。 – 2015-05-11 09:46:21

+0

如果你有新的問題,你應該問一個新的問題,而不是現有的評論。 – 2015-06-19 16:02:49