我有一个UIView。在里面我有两个文本字段 - username
和password
,以及一个submit
UIButton。我把我的UIView放在了屏幕的中心。所以现在当我编辑username and password field
时,我的密码字段被键盘隐藏了。
当我的键盘打开时,是否可以显示我的“带有两个文本字段的完整UIView”?
请帮忙解决一些问题。谢谢!
更新代码:
@implementation ViewController
@synthesize scrollView;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)textFieldDidBeginEditing:(UITextField *)textField {
self.scrollView.contentSize = CGSizeMake(self.scrollView.contentSize.width, (self.scrollView.contentSize.height + 260));
self.scrollView.contentOffset = CGPointMake(0,120);
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
self.scrollView.contentOffset = CGPointZero;
self.scrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
}
答案 0 :(得分:0)
将您的UIView
更改为UIScrollView
。然后在textFieldDidBeginEditing
方法中为您的滚动浏览contentSize
添加键盘高度(通常为260),并相应地更改contentOffset
。不要忘记在contentSize
contentOffset
和textFieldDidEndEditing
重置为正常值
-(void)textFieldDidBeginEditing:(UITextField *)textField {
self.scrollView.contentSize = CGSizeMake(self.scrollView.contentSize.width, (self.scrollView.contentSize.height + 260));
self.scrollView.contentOffset = CGPointMake(0, <desired height>);
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
self.scrollView.contentOffset = CGPointZero;
self.scrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
}