Code Bye

怎么实现出现键盘时,当前画面自动上移效果并且画面可以拖动

 

当焦点落在输入框时,会出现键盘,这个时候会挡住部分画面(UIView或者UIControl),
那么怎么实现出现键盘时,当前画面自动上移效果并且画面可以拖动

小弟对iphone开发不甚了解,请知道的大侠稍微详细的介绍啊

用滚动视图,实现起来很方便
40分
你需要事先UITextFieldDelegate下面两个protocol
比如有个UITextField *userTextField

创建后设置userTextField的delegate 

userTextField.delegate = self;

// 开始编辑,键盘打开,subviewMoveUp()需要实现,改变subview的位置
– (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
[self subviewMoveUp];
return YES;
}

// 编辑结束,键盘关闭,subviewRestore()需要实现,恢复subview的位置
– (BOOL)textFieldShouldReturn:(UITextField *)textField {
[userTextField resignFirstResponder];
[self subviewRestore];
return YES;
}

– (void)subviewMoveUp {
    userTextField.frame = CGRectMake(….);
}

– (void)subviewRestore {
    userTextField.frame = CGRectMake(….);
}

但以上是不带画面上下翻滚。如果要翻滚,你需要使用UIScrollView,把userTextField放入UIScrollView。具体需求具体解决办法,使用UIScrollView即可以让UIScrollView的frame更改,也可以改变UIScrollView的content offset达到目的。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么实现出现键盘时,当前画面自动上移效果并且画面可以拖动