2017-12-03 18 views
0

はキーボードが、時々アップ少しシフトし、この問題はiOS11ではなく、それ以前のiOSバージョンでのみ発生します。 第2に、この問題は、特定のビューコントローラ内の特定のテキストフィールドだけでなく、アプリケーション全体のすべてのUITextFieldインスタンスで発生します。iOS11キーボードの問題 - まず絵に<a href="https://i.stack.imgur.com/5czzJ.png" rel="nofollow noreferrer">here</a></p> <p>を示すように正しくないキーボードの高さ

UIKeyboardWillShowNotificationを観察すると、UIKeyboardFrameEndUserInfoKeyに格納されているキーボードのフレームが正しくないことがわかります。正確には、高さが正しくありません。

- (void)keyboardWillShow:(NSNotification *)notification { 
    NSDictionary *info = [notification userInfo]; 
    NSString *curveValue = [info objectForKey:UIKeyboardAnimationCurveUserInfoKey]; 
    CGRect rect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; 
    NSLog(@"keyboard frame: %@", NSStringFromCGRect(rect)); 
} 

iPhone7(11.1)上で動作しているとき、私たちは、このようなログを得た:375が間違っている間

keyboard frame {{0, 451}, {375, 216}} 
keyboard frame {{0, 292}, {375, 375}} 
keyboard frame {{0, 451}, {375, 216}} 
keyboard frame {{0, 292}, {375, 375}} 
keyboard frame {{0, 292}, {375, 375}} 

216は、正しい高さでなければなりません。キーボードの高さが画面の幅と同じになるのは奇妙です。

IOS 11キーボードの問題だと思うのですが、iOS 11でのみ発生し、キーボードの高さはiOSによって厳密に制御されていますが、何らかの理由で間違った高さを返します。

しかし、難しいことは、私たちのアプリからのテキストフィールドを含む特定のビューコントローラを抽出し、別のデモプロジェクトを作成したことです。そして私はグーグルで他の人に起こった同様の問題を発見しませんでした。だから私はアプリのいくつかの設定のためにおそらくこれは疑いがあります。これはこのiOS11キーボードの高さの問題を引き起こします。

あなたはこの種の奇妙な問題を経験しましたか?それともあなたが思うことがあるものがありますか?私はこれについて私の考えを使い果たした。ありがとう!

+0

https://stackoverflow.com/questions/15402281/convert-uikeyboardframeenduserinfokey-to-view-or-window-coordinates – rmaddy

+0

不適切な高さはフレーム変換によって変化しません。そのスレッドはここの問題とは関係ありません。 @rmaddy –

答えて

0

ソート済みです。最後に、プロジェクトで使用するUIViewカテゴリがあるためです。

- (void)setWidth:(CGFloat)width; 
- (void)setHeight:(CGFloat)height; 
- (void)setSize:(CGFloat)size; 
- (void)setXPos:(CGFloat)xPos; 
- (void)setYPos:(CGFloat)yPos; 
- (void)setXPos:(CGFloat)xPos yPos:(CGFloat)yPos; 

何らかの理由でこれらのメソッドが予約されたメソッドになり、これらのメソッドをオーバーライドするとこの厄介な問題が発生します。

関連する問題

 関連する問題