Ios6 我已经搜索过了,但找不到一种独特而合适的方法
我有一份登记表,其中我使用了大约7个文本字段。但当我开始输入值时,键盘会隐藏下面的3个字段。我想向上移动视图,但不想使用滚动视图。请告诉我任何解决方案。Ios6 我已经搜索过了,但找不到一种独特而合适的方法,ios6,Ios6,我有一份登记表,其中我使用了大约7个文本字段。但当我开始输入值时,键盘会隐藏下面的3个字段。我想向上移动视图,但不想使用滚动视图。请告诉我任何解决方案。 谢谢。注册键盘显示和隐藏通知 - (void)registerForKeyboardNotifications { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:)
谢谢。注册键盘显示和隐藏通知
- (void)registerForKeyboardNotifications {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
}
--
现在在-(void)Keyboard显示:(NSNotification*)iNotification
方法中,使用
NSDictionary *anUserInfo = [iNotification userInfo];
CGSize aKeyboardSize = [[anUserInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
基于iphone5或iphone4的设备,也可以获得屏幕的大小
现在,您将能够计算出隐藏字段以及视图必须向上滑动以使隐藏字段可见的距离
使用-(BOOL)textField应该开始编辑:(UITextField*)textField
委托textField。每次编辑一个隐藏的文本字段时,计算它向上移动到可见的距离
获得距离后,设置视图的动画以向上移动
如何向上移动:
CGFloat aDistanceToMakeFieldVisible = 50.0; //you have to calculate this
[UIView animateWithDuration:0.5 animations:^{
CGRect aFrame = self.view.frame;
aFrame.origin.y -= aDistanceToMakeFieldVisible;
self.view.frame = aFrame;
} completion:^(BOOL finished) {
}];
别忘了把动画也放下来…我知道这很愚蠢。但是我是ios新手,你能告诉我如何使用-(BOOL)textField应该开始编辑:(UITextField*)textField方法如何设置向下动画如果要设置向下动画,你应该使用
-(BOOL)textField应该编辑:(UITextField*))textField
delegate方法。我使用此方法,但没有效果。请自始至终发布整个代码,可能我的代码中会有任何错误。