としてUIToolbar
をUITextView
に添付して、キーボードを閉じるボタンを追加しています。これは素晴らしい作品とデバイスがポートレートモードになっているときに正しいように見えます。しかし、デバイスが横長モードのときに、ツールバーの高さを低くしてツールバーのサイズを変更する方法がわかりません。デバイスの回転時にinputAccessoryViewのサイズを変更するにはどうすればよいですか?
私は私のテキストビューのデリゲートの-textViewShouldBeginEditing:
方法でツールバーを追加している:
if (!textView.inputAccessoryView) {
UIToolbar *keyboardBar = [[UIToolbar alloc] init];
keyboardBar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
keyboardBar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissKeyboard:)];
[keyboardBar setItems:[NSArray arrayWithObjects:spaceItem, doneButton, nil]];
[spaceItem release];
[doneButton release];
[keyboardBar sizeToFit];
textView.inputAccessoryView = keyboardBar;
[keyboardBar release];
}
私も、ランドスケープモードでは、このコードから奇妙な動作を得ます。私がランドスケープモードで編集を開始すると、ツールバーはランドスケープの高さを持ちますが、完了ボタンは画面の半分に描画されます。ポートレートモードに戻すと、完了ボタンが正しい位置に描画され、横向きに戻ったときに正しい位置に残ります。
ポートレートモードで編集を開始すると、ツールバーは縦向きの高さで描画されますが、[完了]ボタンは正しい位置に描画されます。私が横モードに回すと、ツールバーは縦の高さのままですが、完了ボタンはまだ少なくとも正しい位置に描画されます。
デバイスの回転時にこのサイズを変更する方法についてのご意見はありますか?ビューコントローラの回転イベントの1つに高さのマジックナンバーを手動で差し込むよりも自動化された方法が本当に必要だと思っています。
あなたはあまりにもいくつかのこの使用を見つけるかもしれない:http://stackoverflow.com/a/18926749/1633251 –