在Swift中动态创建自定义按钮的实例

奥维利亚

我创建了一个自定义按钮类,如下所示。

import UIKit

class LogButtonView: UIButton {

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

        self.frame = CGRectMake(200, 200, 100, 100)

        self.layer.cornerRadius = 50
        self.layer.borderWidth = 1
        self.layer.borderColor = self.tintColor.CGColor
    }

}

而且我知道如何在故事板上使用它。

但是,如何动态创建它的实例ViewController.swift并将其添加到containerView

import UIKit

class ViewController: UIViewController {
    @IBOutlet var containerView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let logBtn = LogButtonView() // Missing argument for parameter 'coder' in call
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

并且,如果可能的话,我希望所有LogButtonView实例的大小都相同,因此我将set设置为self.frame = CGRectMake(200, 200, 100, 100)但是故事板上的实例似乎和我拖动的大小一样。

lukasbalaz7

要在代码中创建视图init(coder:),请init(frame:)不要使用使用并且不要忘记在创建后将其添加到视图层次结构中

class LogButtonView: UIButton {
    init() {
        super.init(frame: CGRectMake(200, 200, 100, 100))
        //other stuff
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

//viewDidLoad:
override func viewDidLoad() {
    super.viewDidLoad()
    let logBtn = LogButtonView()
    self.view.addSubview(logBtn)
}

但我认为您不想在视图的init中设置框架,因为这意味着每个LogButtonView都将位于同一位置。更好的方法是:

class LogButtonView: UIButton {
    override init(frame: CGRect) {
        super.init(frame: frame)
        //other stuff
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

//viewDidLoad:
override func viewDidLoad() {
    super.viewDidLoad()
    let logBtn = LogButtonView(frame: CGRectMake(200, 200, 100, 100))
    self.view.addSubview(logBtn)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PayPal中动态按钮创建中的自定义变量

来自分类Dev

如何使用Swift在Xcode中创建自定义按钮?

来自分类Dev

从代码和情节提要中实例化自定义按钮-如何创建init方法

来自分类Dev

使用按钮创建自定义类实例并将其显示在NSTableView中

来自分类Dev

如何自定义字符串数组中动态创建的按钮的click事件?

来自分类Dev

在自定义UITableViewCell中动态显示按钮

来自分类Dev

在 C++ 中创建自定义类的多个实例

来自分类Dev

JavaScript 从动态创建的表格中自定义文本

来自分类Dev

在Notepad ++中创建自定义搜索按钮

来自分类Dev

在条纹按钮中创建自定义金额

来自分类Dev

在离子中创建自定义尺寸按钮

来自分类Dev

在WPF中创建自定义下拉菜单按钮

来自分类Dev

如何在 lanterna 中创建自定义按钮?

来自分类Dev

导航栏中的Swift自定义后退按钮

来自分类Dev

无法在Swift中访问自定义tableviewcell按钮属性

来自分类Dev

Swift 3 中的 UICollectionView 自定义按钮操作

来自分类Dev

关于 Swift 中自定义开关按钮的问题

来自分类Dev

创建UArray的自定义实例

来自分类Dev

无法创建自定义类的实例

来自分类Dev

在自定义UIView类swift中从UIView创建IBoutlet

来自分类Dev

如何在Swift中创建自定义UITableViewCell类?

来自分类Dev

仅在Swift中创建自定义sqlite函数

来自分类Dev

使用自定义样式在Swift中创建UITextField扩展

来自分类Dev

在 Swift 3 中创建自定义大小的 VideoPlayer

来自分类Dev

Tkinter自定义创建按钮

来自分类Dev

如何创建自定义单选按钮?

来自分类Dev

如何创建自定义后退按钮?

来自分类Dev

无法创建自定义单选按钮

来自分类Dev

如何创建可以动态接受角半径和颜色并相应更改的自定义按钮视图

Related 相关文章

  1. 1

    PayPal中动态按钮创建中的自定义变量

  2. 2

    如何使用Swift在Xcode中创建自定义按钮?

  3. 3

    从代码和情节提要中实例化自定义按钮-如何创建init方法

  4. 4

    使用按钮创建自定义类实例并将其显示在NSTableView中

  5. 5

    如何自定义字符串数组中动态创建的按钮的click事件?

  6. 6

    在自定义UITableViewCell中动态显示按钮

  7. 7

    在 C++ 中创建自定义类的多个实例

  8. 8

    JavaScript 从动态创建的表格中自定义文本

  9. 9

    在Notepad ++中创建自定义搜索按钮

  10. 10

    在条纹按钮中创建自定义金额

  11. 11

    在离子中创建自定义尺寸按钮

  12. 12

    在WPF中创建自定义下拉菜单按钮

  13. 13

    如何在 lanterna 中创建自定义按钮?

  14. 14

    导航栏中的Swift自定义后退按钮

  15. 15

    无法在Swift中访问自定义tableviewcell按钮属性

  16. 16

    Swift 3 中的 UICollectionView 自定义按钮操作

  17. 17

    关于 Swift 中自定义开关按钮的问题

  18. 18

    创建UArray的自定义实例

  19. 19

    无法创建自定义类的实例

  20. 20

    在自定义UIView类swift中从UIView创建IBoutlet

  21. 21

    如何在Swift中创建自定义UITableViewCell类?

  22. 22

    仅在Swift中创建自定义sqlite函数

  23. 23

    使用自定义样式在Swift中创建UITextField扩展

  24. 24

    在 Swift 3 中创建自定义大小的 VideoPlayer

  25. 25

    Tkinter自定义创建按钮

  26. 26

    如何创建自定义单选按钮?

  27. 27

    如何创建自定义后退按钮?

  28. 28

    无法创建自定义单选按钮

  29. 29

    如何创建可以动态接受角半径和颜色并相应更改的自定义按钮视图

热门标签

归档