2015-06-12 147 views
-1

我是新来的斯威夫特,如何创建UIView类斯威夫特

我期待在网来自的OBJ-C,但无济于事....

的OBJ-C在我的项目我用自定义的实例类型创建了一个类UIView(作为通知从底部显示红色),因为通过这个allocavo直接在viewController中的UIView与我感兴趣的参数..现在我不能绝对地创建翻译我在Obj-C swift中的代码试图找到一个教程或视觉,我可以找出如何使用快速UIView创建一个类,而不使用xib ...

有没有人知道没有XIB在Swift中的任何教程或类UIView的例子?

我的问题是,当我插入这个自定义的init

init (title:String, message:String) { 
         // init 
      } 

首先是因为编译器希望这还包括

required init (coder aDecoder: NSCoder) { 
         super.init (coder: aDecoder) 
     } 

我的第一个问题是,它返回一个错误:

obj-c中的initWithCoder仅当我的自定义视图插入故事板时才使用...

然而,在我的情况下,我会通过一个简单的代码行调用我所有的自定义视图,就像我在obj-c中做的那样,并且我没有被允许,因为obj-c我使用了一个自定义的实例类型而没有指定他们的initWithCoder它initWithFrame

我无法理解这件事情

+0

可谓是http://stackoverflow.com/questions/25126295/的副本swift-class-does-not-implement-its-superclasss-required-members – matt

回答

1

要声明一个类是另一个类的子类:

class MyView : UIView { 
    // properties, methods such as `drawRect:`, etc., go here 
} 

实例化类:

let v = MyView() 

要配置的实例:

v.frame = // .... 

为了把一个视图实例进入界面:

self.view.addSubview(v) 
+0

我正在编辑我的帖子,具体问题 – kAiN

+0

所以你的问题实际上是为什么你必须添加'required init(coder:)'?在Stack Overflow上进行搜索,这已经在这里处理了一千次。不要这么懒。 – matt

+0

例如:http://stackoverflow.com/questions/25126295/swift-class-does-not-implement-its-superclasss-required-members或者只是实现它并继续前进。 – matt