我有一个带有两个子视图的UIView(superview)(1.UIScrollView和2.UIView),第一个视图是登录表单,第二个视图包含一个启动动画(带有UIImageView)。当动画结束时,我将它从superview中删除,然后,在验证登录后,它会呈现一个新的TabBarViewController,它有一个Home和其他导航控制器。家庭导航控制器有一个注销按钮,logout的动作在tabBarViewController中被称为方法“logout”,这样的方法将自己解释为返回登录表单。
@implementation LoginViewController
MainTabBarViewController *mainTabBarViewController = [[self storyboard] instantiateViewControllerWithIdentifier:@"MainTabBarViewController"];
[self presentViewController: mainTabBarViewController animated: YES completition: nil];
Logout works fine as long as the keyboard is never shown, otherwise the login form doesn´t appear, the superview does.
@implementation MainTabBarViewController
-(void)logout{
[self dismissViewControllerAnimated: YES completition: nil];
}
我注意到loginView(1.ScrollView)位于堆栈的顶部,隐藏属性为NO。
有什么想法吗?提前谢谢
注意:我使用ARC,故事板和iOS 5
答案 0 :(得分:0)
我发现问题,在我的loginView中我调整UIScrollView中的框架,当键盘出现时移动到TextField的可见区域,我做了这个注册键盘通知,所以,当键盘出现在某个地方时,loginView落入一个不可见的区域,因此解决方案是在loginView出现时注册键盘notificacion,并在取消时取消注册。
谢谢,对不起我的英语!!