2016-02-17 24 views
1

我有一个UIView。里面,我有两个文本字段 - usernamepassword,和一个submit UIButton。我把我的UIView放在屏幕的中心。所以现在当我编辑我的username and password field时,我的密码字段被键盘隐藏了。当我们编辑UITextField时,移动带有一些UITextFields的UIView

所以当我的键盘打开时,可以显示我的“带有这两个文本字段的全部UIView”?

请帮助一些code.Thanks!

更新的代码:

@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); 
} 
+1

这已经回答了 iarumas

+0

[如何使UITextField在键盘存在时向上移动]的可能重复(http://stackoverflow.com/questions/1126726/how-to-make-a-uitextfield-move-当键盘出现时) –

回答

0

更改UIViewUIScrollView。然后在textFieldDidBeginEditing方法中将键盘高度(通常为260)添加到您的滚动视图的contentSize并相应地更改contentOffset。不要忘了复位contentSizecontentOffset回到正常值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); 
} 
+0

我将chiage uiview到uiscroll视图。那么你能否向我解释一下关键板代码和那个代码内容偏移编码 – user5513630

+0

好吧。我会更新我的答案:) – Arun

+0

键盘大小是否在您的代码中更改? – user5513630

相关问题