Ios UIButton赢得';t打开新的视图控制器
当按下按钮时,我很难在屏幕上显示新的视图控制器。我创建了一个名为Ios UIButton赢得';t打开新的视图控制器,ios,objective-c,uiviewcontroller,uibutton,Ios,Objective C,Uiviewcontroller,Uibutton,当按下按钮时,我很难在屏幕上显示新的视图控制器。我创建了一个名为StartUpVC的UIViewController子类。我将其添加到app delegate.m中,并创建了一个StartupVC*StartupVC=[StartupVC new]的实例,然后设置self.window.rootViewController=StartupVC。现在在StartUpVC类中,我创建了一个按钮,用户可以在后台使用UIImageView登录。现在,当按下按钮时,它不会打开登录屏幕的视图控制器,也不会执
StartUpVC
的UIViewController
子类。我将其添加到app delegate.m中,并创建了一个StartupVC*StartupVC=[StartupVC new]
的实例,然后设置self.window.rootViewController=StartupVC代码>。现在在StartUpVC
类中,我创建了一个按钮,用户可以在后台使用UIImageView
登录。现在,当按下按钮时,它不会打开登录屏幕的视图控制器,也不会执行任何操作。所以我的问题是如何让它打开视图控制器?或者它应该只是一个按下按钮时打开的ui视图
这是在StartUpVC.m
- (void)viewDidLoad
{
[super viewDidLoad];
...Code Irrelevant to the question here...
//Create Log In Button
UIButton *logInButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
logInButton.frame = CGRectMake(20, 480, 280, 40);
logInButton.layer.cornerRadius = 4.0f;
logInButton.layer.opacity = .6;
logInButton.backgroundColor = [UIColor lightGrayColor];
[logInButton setTitle:@"Log In" forState:UIControlStateNormal];
[logInButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[logInButton setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
[logInButton addTarget:self action:@selector(sendToLogInScreen:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:logInButton];
}
-(void)sendToLogInScreen:(id)sender {
LogInVC *logIn = [LogInVC new];
[self presentViewController:logIn animated:YES completion:nil];
}
您需要知道的第一件事是方法sendToLogInScreen
是否被调用。在要检查的函数中的任意位置放置断点
一旦您知道函数是否在适当的时间被调用,此问题将涉及:
sendToLogInScreen
未被调用
- 这个按钮出毛病了
- 零
- 手势设置不正确
- 已禁用
StartupVC
的视图
属性的用户交互
sendToLogInScreen
正在被调用
登录名
为零
presentViewController
由于某种原因失败
希望这能帮助您找出问题的原因。按下按钮时是否会调用sentToLogInScreen:method?您是否正在使用情节提要?没有情节提要,所有UI都是在代码中完成的。请重新考虑不使用情节提要的决定。它们将使您的生活更加轻松(在本例中,只需按住ctrl键并将其从按钮拖动到LogInViewController)感谢您的帮助,我将尝试查看其中一种方法的错误。