我有一個用它的xib
文件創建的exampleUIViewController。 mainView
包含一些textFields
。當點擊一個textField
(開始編輯),I顯示鍵盤與動畫:鍵盤顯示時UIViewController寬度變化
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
self.view.frame = self.initialFrame;
[textField resignFirstResponder];
[UIView animateWithDuration:0.25 animations:^
{
CGRect newFrame = [view frame];
newFrame.origin.y -= PORTRAIT_KEYBOARD_HEIGHT;
[view setFrame:newFrame];
}completion:^(BOOL finished)
{
}];
return YES;
}
然後在textFieldShouldReturn
:
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
self.view.frame = self.initialFrame;
[textField resignFirstResponder];
[UIView animateWithDuration:0.25 animations:^
{
CGRect newFrame = [view frame];
newFrame.origin.y += PORTRAIT_KEYBOARD_HEIGHT;
[view setFrame:newFrame];
}completion:^(BOOL finished)
{
}];
return YES;
}
設定在I viewDidLoad
的self.initialFrame
爲:
self.intialFrame = self.view.frame;
問題是,當顯示鍵盤時,mainView
寬度變化並變大。
我做了什麼錯? 爲什麼我只有xib
這個問題,而不是storyboard
中創建的UIViewController
? 我該如何解決這個問題?