26 objective-c ios segue
我必须以编程方式创建一个segue但是当我单击按钮时,视图控制器不会更改为下一个,故事板ID已设置且仍然无法正常工作.我是否缺少任何其他检查以使其工作?
请参阅以下代码:
EntryViewController *entryController = [self.storyboard instantiateViewControllerWithIdentifier:@"go"];
[self.navigationController pushViewController:entryController animated:YES];
Run Code Online (Sandbox Code Playgroud)
它让我很生气.谢谢
nor*_*n_h 33
在我的viewDidLoad中,我放置了调用goldStarOpen的按钮:
UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeCustom];
btnTwo.frame = CGRectMake(250, 20, 40, 40);
[btnTwo addTarget:self action:@selector(goldStarOpen) forControlEvents:UIControlEventTouchUpInside];
[btnTwo setImage:[UIImage imageNamed:@"GoldStar.png"] forState:UIControlStateNormal];
[self.view addSubview:btnTwo];
Run Code Online (Sandbox Code Playgroud)
在goldStarOpen里面,我的代码几乎与你的相同.
- (void)goldStarOpen
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
@"MainStoryboard" bundle:[NSBundle mainBundle]];
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"GoldStar"];
[self presentViewController:myController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
goldStarOpen在故事板中激活ViewController.
您可能需要设置要加载的View Controller的Storyboard ID.它位于检查器中,位于您为视图控制器分配自定义类的位置下方.

使用
+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNil.
Run Code Online (Sandbox Code Playgroud)
所以试试吧
self.storyboard=[UIStoryboard storyboardWithName:@"Your_Story_Board_Name" bundle:[NSBundle mainBundle]];
EntryViewController *entryController = [self.storyboard instantiateViewControllerWithIdentifier:@"go"];
[self.navigationController pushViewController:entryController animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41307 次 |
| 最近记录: |