我遇到了一個我自己無法解決的非常奇怪的問題。我有幾個UI元素嵌入在作爲NSBorderlessWindowMask
運行的NSWindow
中。有2 NSSlider
,3 NSButton
,NSComboBox
和NSColorWell
。NSControl無法在不同的Mac上工作
應用程序爲目標10.7構建,並啓用沙箱。
在我的開發機器上,每個元素都按預期工作。 NSComboBox
有一個工作DataSource
和Delegate
。 NSColorWell
也有效。當我點擊進入NSComboBox
時,我可以在其中輸入文字。 NSColorWell
打開一個顏色選擇。
當我將我的應用程序交給我的beta測試者時,無法編輯NSComboBox
和NSColorWell
。這意味着,我可以將元素添加到NSComboBox
的DataSource
(通過導入),並且可以在下拉菜單中選擇它們,但我無法點擊NSComboBoxCell
並寫入文本。當我點擊NSColorWell
時也不會打開顏色選擇。
我對所有可能導致此行爲的線索毫無頭緒。每個元素都被正確地連接起來,並且運行與我的beta測試器相同的二進制文件。這兩個系統都運行最新版本的Mountain Lion。我試圖創造它運行下面的NSComboBox
方法的β測試儀NSButton
:
[self.nameCB reloadData];
[self.nameCB setEnabled:YES];
[self.nameCB setEditable:YES];
[self.nameCB setNeedsDisplay:YES];
[self.nameCB setFrame:self.nameCB.frame];
[self.nameCB becomeFirstResponder];
[self.nameCB setSelectable:YES];
無幫助。我不知道如何「調試」這種行爲。你有什麼建議嗎?
編輯:我能夠打破它一點。當我刪除線
[self.window setStyleMask:NSBorderlessWindowMask];
它的工作原理。但是我想從刪除標題欄中看起來很好看,所以它只會有所幫助。
相同的問題..任何幫助? – Saranjith
我接受的解決方案不適合你嗎? –
我的項目在MRR,..這不會工作 – Saranjith