按下按钮时,我无法让新的视图控制器显示在屏幕上。我创建了一个名为UIViewController
的StartUpVC
子类。我将其添加到应用程序委托.m,并创建了StartupVC *startUpVC = [StartUpVC new]
的实例,然后设置了self.window.rootViewController = startUpVC;
。因此,现在在StartUpVC
类中,我创建了一个按钮,以便用户可以在后台使用UIImageView
登录。现在,当按下按钮时,它不会为登录屏幕打开视图控制器,并且什么也不做。所以我的问题是如何打开视图控制器?还是应该只是在按下按钮时打开的UIView
?
这是在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
的view
属性禁用了UserInteractionsendToLogInScreen
被呼叫logIn
为零presentViewController
由于某种原因而失败
希望可以帮助您找出可能导致问题的原因。