2013-07-25 61 views
1

概述:我有一個奇怪的錯誤,其中我的肖像視圖的右側按鈕後,旋轉到風景,然後再次回到肖像不工作。UIButtons停止工作後旋轉到風景,然後回到肖像

詳細信息:這是產生問題的場景。如果我以肖像開始,我的所有按鈕都可以使用。我旋轉到橫向(見下面的代碼)和所有按鈕的工作。我旋轉回肖像,屏幕右側1/4的按鈕不響應。就好像有一個覆蓋這些按鈕的透明視圖。奇怪的是,如果按鈕的一部分突出到不可見屏障的左側,我可以點擊該按鈕的該部分,但不在「覆蓋」下的右側部分。如果我現在旋轉到風景,景觀中的所有按鈕都可以工作。當我旋轉回肖像時,無形的「封面」向左移動了另一個1/4以覆蓋大約1/2的屏幕。如果我再次旋轉到橫向(所有按鈕始終工作在橫向),然後返回到縱向,隱形「封面」移動了1/4以覆蓋屏幕的3/4。最終,我的控件沒有一個以縱向響應。

重要的項目信息

  1. 這個程序是普遍的。該問題只發生在iPad人像模式中。 iPhone版本從不以縱向(或橫向)模式顯示此問題。
  2. 只有3個視圖:容器視圖(它是根),縱向視圖和橫向視圖。
  3. 這個程序是ARC和目標6.1。我有處理旋轉事件的所有正確方法。

這裏是代碼用於旋轉的觀點:

[portrait removeFromSuperview]; 
[landscape removeFromSuperview]; 

UIDeviceOrientation currentOrientation = [[UIDevice currentDevice] orientation]; 
if (currentOrientation==UIDeviceOrientationUnknown) { 
    currentOrientation = (UIDeviceOrientation)[[UIApplication sharedApplication] statusBarOrientation]; 
} 
if ((currentOrientation == 0) || (UIInterfaceOrientationIsPortrait(currentOrientation))) { 
    [[self view] addSubview:portrait]; 
} 
else { //landscape 
    [[self view] addSubview:landscape]; 
} 

我已經試過

  1. 的問題,我發現聲音遠程相似提到使用內存泄漏檢查儀器。我嘗試了殭屍和分配模板,沒有看到任何奇怪的東西(雖然這是我使用過的第一個工具)。
  2. 編輯:所有這一切都是在模擬器中,我還沒有在設備上測試過這個問題。

感謝您的幫助。

+1

你質疑在運行時的子視圖,並添加邊框到每個所以你可以看到他們在哪裏? – Wain

+0

這與內存泄漏沒有任何關係,按鈕可能超出了他們的超視界範圍。給superview一個背景顏色,這樣你就可以看到它在哪裏,看看是不是發生了什麼。 – rdelmar

+0

更容易,將superview的「clipsToBounds」屬性設置爲YES。 –

回答

-1

,我覺得你沒有設置potrait和景觀框架正確,這意味着當u旋轉它的一些其他組件的框架重疊與按鈕框架等用戶交互被禁用

1

在您的模擬器的菜單欄中選擇

調試 - >顏色混合圖層

然後Command + 旋轉它

然後Command + 後旋轉

有可能是被古怪redimensioned和covers-也許部分視圖 - 您的按鈕

+0

感謝您的快捷方式 –

相關問題