我到处都在搜索,到目前为止没有什么对我有用 .
基本上我想要一个名为rootView.xib的.xib文件,在其中我希望有一个UIView(让我们称之为containerView)只占用屏幕的一半(因此会有常规视图和新视图) . 然后我想要一个名为firstView.xib的不同.xib文件并将其加载到containerView中 . 所以我可以在firstView.xib上有一堆东西和rootView.xib中的一堆不同的东西,并在rootView.xib中加载我的firstView.xib在containerView中,但由于它只占用了屏幕的一半,你仍然可以看到rootView.xib上的东西
6 回答
要以编程方式从xib文件获取对象,可以使用:
[[NSBundle mainBundle] loadNibNamed:@"MyXibName" owner:self options:nil]
,它返回xib中顶级对象的数组 .所以,你可以这样做:
我在github上创建了一个示例项目,用于从另一个.xib文件中的.xib文件加载UIView . 或者你可以通过编程方式完成 .
这对于您希望在不同的UIViewController对象上重用的小部件非常有用 .
新方法:https://github.com/PaulSolt/CustomUIView
原创方法:https://github.com/PaulSolt/CompositeXib
你可以尝试:
[快速实施]
从xib加载视图的通用方法:
例:
执行:
Create a XIB file :
确保勾选“也创建XIB文件”
我想用
tableview
执行所以我选择了子类UITableViewCell
你可以选择作为你的申请
XIB文件设计符合您的愿望(RestaurantTableViewCell.xib)
我们需要 grab 行高来设置每一行的表格
现在!需要 grab 他们快速文件 . 我很生气
restaurantPhoto
和restaurantName
你可以帮到你们所有人 .Now adding a UITableView
name
nib文件的名称,不需要包含.nib扩展名 .
owner
要指定为nib的File的Owner对象的对象 .
options
包含打开nib文件时使用的选项的字典 .
first 如果你没有先定义然后抓取所有视图..所以你需要 grab 那个集合
frist
中的一个视图 .这是表视图控制器的完整代码
你做完了:)
For swift 3 & 4