当我们编辑 UITextField 时,将带有一些 UITextFields 的 UIView 向上移动
Posted
技术标签:
【中文标题】当我们编辑 UITextField 时,将带有一些 UITextFields 的 UIView 向上移动【英文标题】:Move the UIView with some UITextFields up when we edit UITextField 【发布时间】:2016-02-17 16:45:26 【问题描述】:我有一个 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);
【问题讨论】:
这个已经回答了***.com/questions/11282449/…> How to make a UITextField move up when keyboard is present的可能重复 【参考方案1】:将您的 UIView
更改为 UIScrollView
。然后在textFieldDidBeginEditing
方法中将键盘高度(通常为260)添加到滚动视图的contentSize
并相应地更改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);
【讨论】:
我会将 uiview 更改为 uiscroll 视图。那你能解释一下键盘代码和内容偏移编码吗 您的代码出现desired
loginRegisterView
SCREEN_WIDTH , SCREEN_HEIGHT
的名称错误
我刚刚将我的 uiview 更改为 uiscroll 视图
想要的高度我的意思是你想要的高度:D
高度是滚动视图还是键盘?以上是关于当我们编辑 UITextField 时,将带有一些 UITextFields 的 UIView 向上移动的主要内容,如果未能解决你的问题,请参考以下文章
编辑 UITextField 时正在重置 UIScrollView
编辑第一个 UITextField 时,如何将 UITableView 滚动到第二个 UITextField?