Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在故事板中创建可重用视图_Ios_Swift_Storyboard_Interface Builder_Ios9 - Fatal编程技术网

Ios 在故事板中创建可重用视图

Ios 在故事板中创建可重用视图,ios,swift,storyboard,interface-builder,ios9,Ios,Swift,Storyboard,Interface Builder,Ios9,在与iOS平台分手后,我最近开始为iOS平台开发应用程序。在休息期间,我一直在编写许多JavaSwing应用程序,我对iOS中很难创建可重用视图的事实感到困惑 我们的团队为“一切”创建了小型可重用GUI组件。某些版本之前引入的容器视图在所有情况下都没有帮助,因为如果表是动态的,则不能将其嵌入到例如UITableViewCell中 人们在写关于不再使用XIB的,使用故事板(废话)。在我的可重用视图中使用这样的代码时,这让我很担心: [[NSBundle mainBundle] loadNibNam

在与iOS平台分手后,我最近开始为iOS平台开发应用程序。在休息期间,我一直在编写许多JavaSwing应用程序,我对iOS中很难创建可重用视图的事实感到困惑

我们的团队为“一切”创建了小型可重用GUI组件。某些版本之前引入的容器视图在所有情况下都没有帮助,因为如果表是动态的,则不能将其嵌入到例如
UITableViewCell

人们在写关于不再使用XIB的,使用故事板(废话)。在我的可重用视图中使用这样的代码时,这让我很担心:

[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];
[self addSubview: self.contentView];
所以我想知道,到2015年底,可重用视图的状态如何?是这样做的,还是现在有更好的方法

(当然,我现在使用的是Swift,我只是从一个旧项目中复制粘贴)

人们正在写关于不再使用XIB的文章

别理它。你所做的就是这样做。xib文件只是封装实例化和配置视图及其子视图所需的所有代码的一种方式,这正是您所需要的

我唯一不同的做法是使用UINib而不是NSBundle,因为当使用UINib加载时,会得到缓存,如果要多次加载此nib,这会节省时间


(当然,你也可以用故事板来完成。但这太过分了,因为故事板的内容总是包含UIViewController,在这种情况下你不需要它。)

谢谢你的回复。听你这么说让我相信我没有走错方向!你说的我可以用故事板来做;你的意思是我在一个单独的故事板中编写每个UI组件?一个故事板只是一个nib的集合,而一个.xib文件只是一个nib,所以这并没有很大的区别。您可以通过脚本id从脚本中获取任何视图控制器,并且只要您引用它,它就会加载它的视图,因此这是一种加载形式。但是,正如我所说的,您不需要视图控制器作为该视图的载体,所以您现在做的更好。