2010-05-06 68 views
0

iPad應用程序;我試圖在鍵盤出現時調整視圖的大小。它相當於呼籲在適當的時間驗證碼:UIView座標在鍵盤外觀旋轉時轉換

CGRect adjustedFrame = self.frame; 
    adjustedFrame.size.height -= keyboardFrame.size.height; 
[self setFrame:adjustedFrame]; 

使用在所有4個方向的工作原理此技術包含在基於uisplitview-應用程序的視圖,但因爲我已經發現,基於UIView的香草應用程序不會不行。

發生了什麼是顯然uisplitview是足夠聰明的轉換其子視圖(他們的框架)的座標,使得原點在「觀衆的左上角」,無論方向如何。但是,uiview無法正確報告這些座標。儘管在所有方向上起源都被報告爲(0,0),但視圖的有效起源總是好像ipad是直立的。

這是什麼奇怪的是,視圖正確旋轉和繪製,但它始終始於左上角的文字設備。我怎樣才能讓視圖正確地將其原點設置爲觀衆的「左上角」,而不是設備的左上角?我錯過了什麼?請,對於這麼微不足道的事情,我已經花了大約6個小時的時間,用我可以想到的每一個強力技術和研究角度。

這是沒有在這種情況下工作的原始來源:

move up UIToolbar

回答

0

OK,我不知道實際的答案是原來的問題是什麼,但我可以肯定的說解決問題的一種方法是始終確保不直接操作viewController的視圖。總是將視圖封裝在主「視圖」內的容器視圖內,然後根據需要讓容器視圖調整其位置等。與分割視圖完全一樣,可能是因爲在這兩種情況下,所討論的視圖都是主視圖的子視圖。終於解脫了!