2

iOS 5以降のiOSアプリケーションがあります。独自のinputViewとinputAccessoryViewを使用するカスタムUITextViewが含まれています。iOS 7 シミュレーターでは動作し、FirstResponse になると inputView と inputAccessoryView の両方が表示されますが、iOS 8 シミュレーターでは関連する inputView のみが表示され、inputAccessoryView は表示されません。

Xcode 6 GMシードを使用しています

HeInput_TextView.m

- (void)awakeFromNib
{

   self.text = @"";

   heKeyboard4x5 = [[HeKeyboard_ViewController alloc] init]; 
   inputAccessoryVC = [[InputAccessory_ViewController alloc] init]; 

   self.inputView = heKeyboard4x5.view;
   self.inputAccessoryView = inputAccessoryVC.view;
}

iOS 8 シミュレーターのバグですか、それとも iOS 8 の変更ですか?

編集:

この問題に関する詳細情報を見つけました。

この問題は、ページベースのアプリケーションで発生します。UIPageViewController のページに UITextView がある場合、UITextView.inputAccessoryView は iOS 8 シミュレーターでは表示されませんが、iOS 7.1 シミュレーターでは表示されます。

「Single-View Based application」と「Page-Based application」の 2 つのプロジェクトを作成し、上記のように問題が発生することを確認しました。

4

4 に答える 4

3

iOS8のバグです。

Apple の連絡先アプリのシミュレーターで再現できます。

新しい連絡先を追加し、下にスクロールして「日付を追加」します。

同じ問題。同僚がリンゴの rdar を調達しました。

于 2014-09-29T06:56:15.840 に答える
1

iOS8 のビュー アクセサリは、ビューのフレームを使用して、InputView (またはデフォルトのソフトウェア キーボードでさえも) よりも高さをオフセットしないことがわかりました。

inputAccessoryView が実装されていることを確認する必要がある場合があります

-(CGSize)intrinsicContentSize

例えば:

@implementation InputAccessory_View
// .. your code ...
-(CGSize)intrinsicContentSize{
    return self.frame.size;
}
@end
于 2014-10-03T04:42:50.210 に答える
0

申し訳ありませんが、私はアイテムを読み違えました。iOS8 のキーボードの問題に悩まされています。

于 2014-11-07T13:45:50.627 に答える