按下按钮时,我无法让新的视图控制器显示在屏幕上。我创建了一个名为UIViewControllerStartUpVC子类。我将其添加到应用程序委托.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没有被呼叫

按钮有问题

它是零
手势设置不正确

StartupVCview属性禁用了UserInteraction

sendToLogInScreen被呼叫

logIn为零
presentViewController由于某种原因而失败



希望可以帮助您找出可能导致问题的原因。

08-18 14:48