如何从UIView SubClass调用UIViewController?

时间:2016-06-21 11:50:45

标签: ios objective-c iphone uitableview uiviewcontroller

我有UIViewControllerUITableView

UItableView的单元格中,我已添加了UICollectionView

in -

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath 

我正在调用主UIViewController的方法。

UIViewController *view = [[UIViewController alloc] init];
[view my_method];

在主视图中。

-(void)my_method {
    AnotherName *view_my=[[AnotherName alloc]initWithNibName:@"AnotherName" bundle:nil];
        [self.navigationController pushViewController:view_my animated:NO];
}

Viewdidload方法正在调用,但view未显示。

2 个答案:

答案 0 :(得分:1)

这是因为您通过致电[[UIViewController alloc] init]进行初始化。这总是返回空视图。

您应该改为调用此

  • 如果您使用storyboard为视图控制器提供一个故事板ID并调用此

MainViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"storyboard id"];

  • 如果您使用界面构建器,请调用此

MainViewController *controller = [[MainViewController alloc] initWithNibName:@"Nib File Name" bundle:nil];

答案 1 :(得分:0)

我得到了解决方案..

AnotherName *view_my = [[AnotherName alloc]initWithNibName:@"AnotherName" bundle:nil];
self.window.rootViewController = view_my;
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

感谢@The Mech System ...为了帮助我找到解决方案.. 现在工作正常。