从NIB构建iOS视图

因为上个月我已经经历了三到四次,而忘记了一些细节,每次都要花一两个小时,所以我想我也可以写一点并分享一下。

在iOS中构造自定义视图的首选方法是在NIB中对其进行设计,然后构造一个与之相关的类。 这为您提供了可视化设计的灵活性,该可视化设计与您自己的代码实现一起提供。 因此,其中涉及的各个步骤有点像这样。

1.设置班级

因此,我们需要制作一个新的Swift文件,命名它并放入一个明智的组中。 小心,因为XCode对其文件放置位置拥有自由。 现在,您不需要对新文件做太多事情。 只需将您的类声明为UIView的扩展

   MyNewView:UIView 
{
  } 

2.创建您的XIB文件

然后,您需要给它起一个名字。 除非您感觉特别勇敢或有一个很好的名字,否则您应该坚持使用与您的班级名称相同的名称,因此,MyNewView是一个好名字。

3.连接您的文件

首先,您需要为视图的文件所有者设置自定义类。 这是通过选择“占位符-文件的所有者”并选择一个自定义类来完成的。 开始输入后,应会弹出该窗口。 如果不是这样,您可能会不厌其烦。

4.连接您的根视图

这是开始变得有些坎ill的地方。 现在,您需要将视图的根连接到班级的出口。 我通常将其称为mContentView

5.绑在一起

最后,我们只需要设置一些样板即可将它们绑在一起,就可以完成工作。 在这里,将NIB和类命名为相同的部分非常方便,因为您可以使用相同的代码而不必担心名称。

   MyNewView:UIView 
{
@IBOutlet var mContentView:UIView!

覆盖公共初始化 (框架:CGRect)
{
超级初始化 (帧:帧)
loadViewFromNib()
}

必需的公共初始化 ?(编码器aDecoder:NSCoder)
{
超级初始化 (编码器:aDecoder)
loadViewFromNib()
}

私人功能 loadViewFromNib()
{
bundle = Bundle( for :type(of: self ))

bundle.loadNibNamed(String(describing:type(of: self )),
所有者: self ,选项: nil
addSubview(mContentView)
}
}

所以,这一切都很简单。 从理论上讲,我应该能够记住这一点,但实际上似乎并不是这样。 至少我下次可以进行此操作。

6.结果

当我们将所有内容放在一起时,我们可以得到类似此图像编辑控件的内容,该控件使我们可以将相机和图库的按钮放在所选图像的顶部。

有兴趣看看我们的新iOS和Android SDK吗? https://beta.linkalist.io/index.php