我一直在玩iPad的分離鍵盤框架。拆分鍵盤運動檢測
好吧,看來UIKeyboardWillChangeFrame
被觸發時分離式鍵盤是顯示或隱藏。
在塢模式,UIKeyboardWillShow
和UIKeyboardWillHide
通知被觸發。
在NSNotification對象,我們都能夠檢索這兩個停靠和拆分模式也是鍵盤的框架。
現在,當我們移動分離式鍵盤在屏幕上真正的樂趣開始。每次我們在屏幕上移動鍵盤時,通知對象中的終端都是(0,0,0,0)。在我使用convertFrame
座標變換框架轉換爲(0,-124,0,0)
後。這對於向上或向下方向的鍵盤移動都是正確的。
在所有其他情況下,endframe似乎在框架上提供了正確的座標。
這段代碼給了我確切的點數。
CGRect startFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
CGRect endFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
這endframe是(0,0,0,0)當用戶移動所述分裂鍵盤在屏幕上。
我們根據當前視圖得到正確的座標:
CGRect convertedStartFrame = [self.view.window convertRect:startFrame toView:self.view];
CGRect convertedEndFrame = [self.view.window convertRect:endFrame toView:self.view];
This convertedEndFrame = (0,-124,0,0) when endFrame = (0,0,0,0).
還有一兩件事,我不是通過代碼移動鍵盤。
我不太確定,如果這是來自Apple的已知錯誤或者我錯過了某些東西。
希望有人能指出一些事情給我。
謝謝。
把一些代碼。所以我們可以更深入地瞭解。 – 2012-04-19 05:28:49
「每次我們在屏幕上移動鍵盤時,通知對象中的endframe都會變成(0,0,0,0)。在我使用convertFrame座標將幀轉換爲(0,-124,0,0)後, 。這對於鍵盤向上或向下移動都是正確的。 在其他所有情況下,endframe似乎都提供了正確的座標座標。詳細說明 – 2012-04-19 05:31:18
每次我們在屏幕上移動鍵盤時,通知對象中的終端都是(0,0,0,0)。把這一行的一些代碼。 – 2012-04-19 05:36:18