【问题标题】:Best strategy to load custom UIView with XIB and Outlets使用 XIB 和 Outlets 加载自定义 UIView 的最佳策略
【发布时间】:2014-12-16 18:25:00
【问题描述】:

使用 XIB 和 Outlets 加载自定义 UIViews 的最佳策略是什么?此刻我有下面列出的代码。我认为这段代码很糟糕,因为我有 2 个 UIViews 作为容器,将来可能会出现约束问题。

  • UIViewController(我不希望所有的出口和动作都在一个大的 ViewController 中)

    func showCategories() {
         if(self.categoriesView == nil) {
             self.categoriesView = CategoriesView()
         }
    
         self.view.addSubview(self.categoriesView!)
    }
    
  • 自定义 UIView - CategoriesView

    class CategoriesView, ...protocols... {
    
    @IBOutlet var table:UITableView!
    
    override init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    
    override init(frame:CGRect) {
        super.init(frame: frame)
    }
    
    override init() {
        super.init()
    
        let views   = NSBundle.mainBundle().loadNibNamed("CategoriesView", owner: self, options: nil)
        let view    = views![0] as CategoriesView
        self.frame  = view.frame
    
        self.addSubview(view)
    }
    
    ....
    
    }
    

【问题讨论】:

    标签: ios swift uiview


    【解决方案1】:

    在 Apple 的 MVC 中,最好避免包含太多逻辑的视图。如果你想用组件子视图组成一个复杂的视图,那么看看Creating Custom Container View Controllers

    如果您已经在使用故事板,容器视图将为您处理大部分复杂性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-16
      • 2017-10-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      相关资源
      最近更新 更多