Xcode 运行 代码和黑屏

Xcode run code and black screen

我有问题。

我在按钮触摸事件中编写代码。 运行 项目并单击按钮。然后我就黑屏了。

- (IBAction)ff:(id)sender {
    SecondViewController *viewController = [[SecondViewController alloc] init];
    [self presentViewController:viewController animated:YES completion:nil];
}

只需 select MainStoryboard 中的 Button 并按住 CTRL 并将其拖动到视图控制器,然后 select 以模态方式呈现。 并从实现中删除 IBAction,并从该按钮的 MainStoryboard 中删除已发送的事件。

1) 在 XIB 或 Storyboard 中添加按钮。

2) 在您的 viewController.h 文件中创建一个按钮

__weak IBOutlet UIButton *yourButton;

3) 在同一个文件中,添加按钮的选择器:

-(IBAction)yourButton_pressed:(id)sender;

4) 转到 XIB 或 Storyboard,打开 Connection Inspector,从 yourButton 拖放到 XIB 或 Storyboard 中添加的按钮。

5)同理,从yourButton_pressed拖放到XIB或Storyboard中添加的按钮。它会询问您的操作类型,例如 TouchUpInsideTouchUpOutside。 Select TouchUpInside 现在。

6) 当前模态视图控制器:

YourViewController *viewController = [[YourViewController alloc]initWithNibName:@"YourView" bundle:nil];
viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:viewController animated:YES];
[viewController release];

7) 享受并点赞 :D

如果你想转到SecondViewController,你总是可以使用prepareForSegue方法。

但首先要建立连接,请在此处查看屏幕截图:http://imgur.com/a/CJFwy

然后将此代码添加到您的 viewController:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"ShowSecondVC"]) {
        SecondViewController *secondVC = [segue destinationViewController]; 
    }
}