ビューの下部に検索バーがあります。
UIKeyboard の位置を設定するにはどうすればよいですか?
CGAffineTransform を使用 少なくとも私が観察してテストしたことから、4.0 より前の OS バージョンでは変換を定義する必要があり、OS 4.0 以降の OS ではキーボードの配置が処理されます。そのため、ここでは Transform を設定する前に systemVersion をチェックしています。
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0) {
CGAffineTransform translate = CGAffineTransformMakeTranslation(xx.0, yy.0);//use x,y values
[self setTransform:translate];
}
キーボードの位置を設定することはできません。キーボードの位置を尋ねて、他のビューを適切に整理することしかできません。
// Somewhere you need to register for keyboard notifications
- (void)viewDidLoad {
[super viewDidLoad];
// Register for keyboard notifications
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
//... do something
}
// At some point you need to unregister for notifications
- (void)viewWillHide {
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter removeObserver:self];
}
- (void)keyboardWasShown:(NSNotification*)aNotification
{
// Caution, this notification can be sent even when the keyboard is already visible
// You'll want to check for and handle that situation
NSDictionary* info = [aNotification userInfo];
NSValue* aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
//... do something
}
キーボードの位置を設定しません。システムが自動的にそれを行います。
あなたがする必要があるのは、キーボード通知を使用して検索バーを表示可能な部分に移動することです