2012-09-19 47 views
19

我正在使用模擬器爲iPhone 5準備我的應用程序,發現了一個奇怪的問題,在我的一個觀點中,我的兩個按鈕在iPhone(Retina 4英寸)模擬器中不起作用,但在iPhone(Retina 3.5英寸)模擬器中工作正常。按鈕在輕敲時根本無法做任何事情。有其他人遇到過這個問題嗎?我的按鈕在iPhone(Retina 4英寸)模擬器上沒有檢測到觸摸事件,但可以在iPhone(Retina 3.5英寸)模擬器中工作

我很難搞清楚從哪裏開始。有關從哪裏開始的建議?

非常感謝您的智慧!

+2

只是一個猜測,但你檢查沒有透明的意見重疊的按鈕?也許彈簧和支柱沒有達到你預期的iPhone 5的屏幕分辨率。 – Sascha

+1

我面臨同樣的問題。在我的情況下,底部區域(可能是額外的.5英寸)不響應。放置在那裏的標籤欄按鈕將不起作用,試圖從該區域輕彈滾動UITableView也不起作用。您的按鈕是否也位於底部區域? – pennersr

+2

@pennersr:你試過這個嗎?它並沒有幫助我,但希望它能幫助你。 http://stackoverflow.com/questions/12414817/iphone-5-4-bottom-toolbar-not-responding – BeachRunnerFred

回答

4

問題是由於彈簧和支柱的設置方式,另一個控件與我的按鈕重疊導致的。調整按鈕的z順序解決了問題。謝謝,所有!

8

對我來說,解決方案是將MainWindow.xib的大小(「Simulated Metrics」)設置爲「Retina 4 Full Screen」。我不需要改變其他屏幕的大小(它們仍然設置爲無)。在更改MainWindow.xib後,底部區域變爲可再次點擊...

+0

小心這樣做。這實際上會掩蓋問題,因爲它只能在模擬器的全屏幕上啓用觸摸事件。在真實設備上,除非在MainWindow.xib中啓用全屏啓動選項,否則觸摸事件將不起作用。查看我的答案以獲得更完整的解釋。 –

+0

這不能正常工作,因爲它只會改變視圖大小。在3.5英寸的屏幕上,物體可能無法正確調整大小。最好的選擇是爲主窗口啓用「全屏啓動」。 – kamprath

32

您需要編輯MainWindow.xib並啓用「全屏啓動」。如需更詳細的說明,請參閱蘋果的文檔:

重要:如果在Interface Builder創建的窗口,它是 建議您啓用在 屬性檢查器中啓動選項全屏。如果此選項未啓用,並且您的窗口比目標設備的屏幕小 ,則某些視圖會收到觸摸事件不會爲 。這是因爲窗口(如所有 視圖)不會在其邊界矩形外接收觸摸事件。 由於默認情況下,視圖並未剪切到窗口的邊界,因此 視圖仍然顯示爲可見,但事件不會到達它們。在啓動選項中啓用 全屏確保窗口適合當前屏幕的尺寸爲 。

Complete document from Apple

+1

這給我修好了。 – jbierling

+0

非常感謝,解決了我的問題! – Stiefel

+1

我的應用程序中的tabbar沒有對4進行操作觸摸事件,這個問題已經解決了......謝謝 – Ben

1

我解決我的概率。

查看.origin對於3.5英寸和4英寸的屏幕有所不同,所以在編寫通用代碼時我們都需要注意CGRectmake(x,y,w,h);

設定溫度diff差異視圖的背景顏色,以便您可以檢查任何視圖是否重疊,以4.0英寸獲取事件。

4

有兩個辦法解決這個問題:

如果您使用的主窗口請按照下列步驟操作:

一個。請選擇MainWindow.xib

b。從Attributes Inspector中的Windows選項中選擇Full Screen at Launch

如果您的應用程序不包含主窗口,然後再補充:

self.view.frame = [UIScreen mainScreen].bounds 

在viewDidLoad中。

相關問題