自定义视图(xib)在故事板上不可见

时间:2015-02-13 08:05:11

标签: ios swift xib xcode-storyboard

我有一个自定义视图xib我有多个TableViews。我将其作为嵌套视图加载到ViewController中:

ViewController
   |_ View
       |_ View (This is where I load my Custom View)

当我运行我的应用程序时,我可以在屏幕上看到空表,因此我的xib正确加载。
到现在为止还挺好。

我的问题是,我无法在故事板中看到我的表格。所以我无法 ctrl +拖动并继续前进。

如何在故事板视图中查看我的自定义视图?

2 个答案:

答案 0 :(得分:2)

例如,我们有 TopView (我的CustomView):

  1. TopView.xib ,在文件所有者

    中设置TopView类

    TopView in Xcode

  2. <强> TopView.swift

  3. 注意:不要忘记@IBDesignable标记。

    class Boss: SKSpriteNode {
    
        private var health: Int = 0
    
        init(type: Int, health: Int, scale: CGFloat) {
    
            let texture: SKTetxure!
    
            if type == 1 {
                texture = SKTetxure(imageNamed: "boss1")
            }
            else {
                texture = SKTetxure(imageNamed: "boss2")
            }
            super.init(texture: texture , color: .clear, size: texture.size())
    
            self.health = health
            self.setScale(scale)
            zPosition = 2
            //any other setup such as zRotation coloring, additional layers, health etc.
        }   
    }
    

    3.在故事板中添加 UIView ,并将视图的类设置为 TopView

    Custom class for UIView

      

    如果 TopView 没有 故事板,那么(通常会发生这种情况):

    1. 启用编辑器 - &gt;自动刷新视图
    2. 点击编辑 - &gt; 刷新所有视图
    3.   

      还是?

      1. 清理项目:⌘+ K
      2. 构建项目⌘+ B
      3. 故事板中的结果: Storyboard Result of TopView

答案 1 :(得分:1)

故事板只能包含ViewControllers和Segues。如果您想从ViewController访问xib中的某些内容来设置委托等,那么您必须从代码中进行操作。例如,当目标UITableView位于故事板中且ViewController位于另一个xib中时,您无法在IB中设置UITableView的委托。