从dismiss“mainTabBar”视图返回后,子视图不会显示

时间:2012-10-22 16:57:31

标签: iphone uiview keyboard

我有一个带有两个子视图的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

1 个答案:

答案 0 :(得分:0)

我发现问题,在我的loginView中我调整UIScrollView中的框架,当键盘出现时移动到TextField的可见区域,我做了这个注册键盘通知,所以,当键盘出现在某个地方时,loginView落入一个不可见的区域,因此解决方案是在loginView出现时注册键盘notificacion,并在取消时取消注册。

谢谢,对不起我的英语!!