UIButton action not working ios

2019-02-21 05:32发布

问题:

I update xcode 6.2 to 7 and add :

self.window.rootViewController = [UIViewController new];

in AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    //add in there
    self.window.rootViewController = [UIViewController new];

ViewController2 *viewController = [[ViewController2 alloc] init];
        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
        navController.navigationBar.tintColor = [UIColor colorWithRed:0/255.0 green: 30.0/255.0 blue: 200.0/255.0 alpha:1];
        [self.window addSubview:navController.view];
        return YES;
    }

but now

[button_Sinnup addTarget:self action:@selector(PLP) forControlEvents:UIControlEventTouchUpInside];

this code not working in the ViewController2.m

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self.view setBackgroundColor:[UIColor blueColor]];
    UIButton *button_Sinnup = [UIButton buttonWithType:UIButtonTypeCustom];
    [button_Sinnup setTitle:@"" forState:UIControlStateNormal];
    [button_Sinnup addTarget:self action:@selector(PLP) forControlEvents:UIControlEventTouchUpInside];
    button_Sinnup.frame = CGRectMake(16, 76, 185, 45);
    [button_Sinnup setBackgroundColor:[UIColor colorWithRed:224.0f/255.0f green:31.0f/255.0f blue:73.0f/255.0 alpha:0]];
    [ button_Sinnup setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:button_Sinnup];
}

i can't call the method PLP

- (void)PLP{
    ViewController2* svc=[[ViewController2 alloc]init];
    [self presentViewController:svc animated:YES completion:nil];

}

回答1:

You are wrong at adding navigation controller: replace:

[self.window addSubview:navController.view];

with

self.window.rootViewController = navController;