在 ios 中从 xib 移动到情节提要
Posted
技术标签:
【中文标题】在 ios 中从 xib 移动到情节提要【英文标题】:Move from xib to storyboard in ios 【发布时间】:2015-12-30 09:20:33 【问题描述】:我有一个包含单个 xib 文件的应用程序,在这个 xib 文件中我创建了 tableList 好的,它工作正常。
这里我的主要要求是当我单击 tableList 行时,我想将“xib”文件移动到我的 UIStroryBoard 中,为此我在互联网上搜索了很多,但我没有得到任何解决方案。
请帮我写一些代码。
当我只在互联网上搜索时,我知道如何将一个 xib 移动到另一个 xib,如下面的代码,但我想将 xib 文件移动到 UIstrotyboard。
DetailViewController *detailVC = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
[self.navigationController pushViewController:detailVC animated:YES];
【问题讨论】:
试试 DetailViewController * detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];创建类对象,因为 xib 和情节提要的代码不同。并设置您的视图控制器的标识符。 【参考方案1】:这是一个示例,您可以在 Storyboard
上推送到 ViewController
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Your_storyboard_name" bundle:nil];
DetailViewController *detailVC = [sb instantiateViewControllerWithIdentifier:@"DetailViewController"];
[self.navigationController pushViewController:detailVC animated:YES];
【讨论】:
即使,self.storyboard
应该会有所帮助。
@Hemang 如果你之前初始化过这个storyboard,可以使用self.storyboard
。但是如果这个ViewController
属于另一个故事板,你的detailVC
将是空的。例如,我的项目中有 5 个故事板文件。而且我每次调用 push 方法时都必须检查它【参考方案2】:
这是相同的代码,但在 swift 中
let myStoryBoard = UIStoryboard(name: "<the name of new storyboard as in
Project Navigator >", bundle: nil)
// the View Controller on the Story board that you will navigate to it
let vc = sb.instantiateViewController(withIdentifier: "< the string identifier of the view controller >")
vc.modalTransitionStyle = .flipHorizontal // as example
present(vc, animated: true)
【讨论】:
以上是关于在 ios 中从 xib 移动到情节提要的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 无法让 @IBDesignable .xib 文件显示在情节提要或模拟器上