0
我有一个LoginViewController
带有两个文本字段和一个按钮。我使用故事板,所以这些不是以编程方式创建的。他们低于彼此。resignFirstResponder更改框架值
这里的.h文件
@interface LoginViewController : UIViewController <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *pw1;
@property (weak, nonatomic) IBOutlet UITextField *pw2;
@property (weak, nonatomic) IBOutlet UIButton *loginBtn;
- (IBAction)loginBtnPressed:(id)sender;
- (IBAction)singleTapRecognized:(id)sender;
@end
的pw2
显示仅在第一次运行,当用户创建一个新的密码并确认它pw2
。否则它是隐藏的。在这种情况下,我将按钮向上移动以使按钮更接近pw1
。
CGSize size = self.pw2.frame.size;
CGRect rect = self.loginBtn.frame;
CGRect newFrame = CGRectMake(rect.origin.x, rect.origin.y-size.height, rect.size.width,rect.size.height);
[self.loginBtn setFrame:newFrame];
到目前为止,这么好。到此为止,所有的工作如预期。但现在.....
- ,当我离开
pw1
空白,程序将检查领域中,检测到它是空的,隐藏的键盘和显示UIAlertView
。这工作正常。 - 当我放入一些不正确的字符时,程序几乎完全相同,但将按钮向下移动到其原始位置。当在视图
进入并邀请了几位人物的任何地方
这里是我的键盘隐藏:
-(void) hideKeyboard {
if (self.pw1.isFirstResponder)
[self.pw1 resignFirstResponder];
else if (self.pw2.isFirstResponder)
[self.pw2 resignFirstResponder];
}
任何想法会发生什么?
对不起,我的英语。英语不是我的母语。
要隐藏键盘,您可以用'[个体经营.view endEditing:YES]'。 –
问题是,当您隐藏键盘时,按钮会将位置更改为原始位置?请告诉我更多详细信息(例如,显示故事板或更多代码) –
[UIView布局被重置]的可能重复(http://stackoverflow.com/questions/14087245/uiview-layout-being-reset) –