【问题标题】:Calling UITABLEVIEW in other implementation IOS在其他实现IOS中调用UITABLEVIEW
【发布时间】:2014-12-17 16:13:49
【问题描述】:

我有一个名为MasterViewController 的视图控制器,其中实现了tableView(作为我模块的一部分)。它包含以下方法:

- (void)viewDidLoad
- (void)didReceiveMemoryWarning
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

现在我想将我的模块集成到名为“myProject”的主项目中,其视图控制器为ViewController

我如何在ViewControllerinit 我的MasterViewController 即调用它的init 方法。我目前的方法是只加载(void)viewDidLoad 方法并在我的ViewController 中显示空表视图,同时考虑到我的MasterViewController 有一个名为storyboardinterface builder 命名为Main p>

我的方法:

 MasterViewController* mainVC = [[MasterViewController alloc] init]; 
            [self.view insertSubview:mainVC.view belowSubview:tabBar]; 

【问题讨论】:

  • 使用情节提要的简单解决方案:在情节提要视图控制器场景中添加。在其视图中,添加 viewcontroller 小部件并将 MasterViewController 分配为一个类。 IBOutlet 这个 MasterViewController 小部件到 ViewController.h 文件。
  • 您必须使用 UIView 容器来添加子视图,这是首选的方式,您可以在情节提要或代码中进行。
  • @Mrunal 我不明白,如何添加“它的视图”。请详细解释一下。
  • 就像在场景中添加 UIButton 一样,将 UIViewController 添加到类 ViewController 的场景中。
  • @k6sandeep 如何使用收容,请详细回答我。

标签: ios objective-c uitableview


【解决方案1】:

您可以在 ViewController 类的 viewDidLoad 中添加以下内容;

在 Viewcontroll.h 中:

- (void)viewDidLoad
{
 ..... 

    MasterViewController *MSVC = (MasterViewController * )[self.storyboard instantiateViewControllerWithIdentifier:@"Main"];
   [self addChildViewController:MSVC];
   [self.view addSubview:MSVC.view];

.....
}

请注意,您必须同时调用 addChildViewController 和 addSubview 才能显示您的子视图。您不应该在 ViewController 的 init 方法中初始化 MasterViewController。

【讨论】:

  • 给出错误:由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [__NSArrayM insertObject:atIndex:]:对象不能为nil'
  • 添加 thr child 后是否还需要调用 didMoveToParentViewController: ?
  • user3166680:这是您的数组对象中的问题。不是视图控制器的。对于 K6z:这是在这种情况下您不需要调用的委托方法。除非您想在添加视图控制器时添加进一步的实现。有关委托,请参见下面的线程。 stackoverflow.com/questions/12909788/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多