在ViewController中导入自定义UIView

时间:2017-09-18 07:09:05

标签: swift uiview importerror

我对快速语言很新。现在我已经使用swift 3在我的项目中实现了自定义UIView。我想从我的viewController访问该UIView。我试图在我的视图控制器中导入该自定义UIView,就像我通常在目标c中那样。使用import PinTitleView。但它不起作用。它仍然显示“没有这样的模块PinTitleView”。我不知道要处理这件事。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

  1. 创建XIB文件
  2. 创建UIView类SideView:UIView
  3. 选择XIB文件>选择文件所有者>选择Identity Inspector 设置类名称
  4.  4。

    在UIView类

    中使用此代码
    class SideView: UIView {
    
        var view:UIView!
    
        func loadViewFromNib() -> UIView {
    
            let bundle = Bundle(for: type(of: self))
            let nib = UINib(nibName: "SideView", bundle: bundle)
            let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
    
            return view
        }
    
        func xibSetup() {
            view = loadViewFromNib()
            view.frame = bounds
            view.autoresizingMask = [UIViewAutoresizing.flexibleWidth, UIViewAutoresizing.flexibleHeight]
            addSubview(view)
        }
    
        override init(frame: CGRect) {
            super.init(frame: frame)
            xibSetup()
        }
    
        required init(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)!
            xibSetup()
        }
    }
    
    1. 声明变量

      var sideSubView:SideView!

    2. 像这样使用

      sideSubView = SideView(框架:CGRect(x:sender.frame.origin.x + sender.frame.size.width - 200,y:sender.frame.origin.y + 40,width:200,height:200 ))             self.view.addSubview(sideSubView)