繁体   English   中英

UIButton不会打开新的视图控制器

[英]UIButton won't open new view Controller

按下按钮时,我无法在屏幕上显示新的视图控制器。 我创建了一个名为StartUpVCUIViewController的子类。 我将它添加到app delegate.m并创建了一个StartupVC *startUpVC = [StartUpVC new]实例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被调用。 在函数中的任何位置放置断点以进行检查。

一旦你知道函数是否在适当的时间被调用,这个问题将是:

  • sendToLogInScreen没有被调用
    • 按钮有问题
      • 它没有
      • 手势设置不正确
    • StartupVCview属性禁用UserInteraction
  • sendToLogInScreen被调用
    • logIn是零
    • presentViewController由于某种原因失败了

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM