Как связать кнопку в ViewController.swift с XIB-файлом? - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу создать кнопку в моем контроллере представления, которая ссылается на экран файла xib.Какие строки кода мне нужно написать в IBAction в моем файле ViewController.swift?

Я пытался написать код, который используется для соединения двух файлов раскадровки, но, похоже, он не работает.

Это пример кода, который я использую для подключения к файлу раскадровки, но какой код я использую для файла xib:

let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let progressVC = storyBoard.instantiateViewController(withIdentifier: "ProgressVC") as! WGProgressVC.progressVC.modalTransitionStyle = .crossDissolve
self.present(progressVC, animated: true, completion: nil)

Я хочу подключить свой файл Main.storyboard кXIB-файл, но он не работает, так как я не знаю строк кода, которые мне нужно написать.Как я могу решить это?

1 Ответ

0 голосов
/ 13 февраля 2019

Вам может понадобиться что-то вроде этого:

@IBDesignable class MyBtn: UIButton {
    // any outlets here
    // @IBOutlet ...

    override init(frame: CGRect) {
        super.init(frame: frame)
        initNib()
    }

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

    func initNib() {
        let bundle = Bundle(for: MyBtn.self)
        bundle.loadNibNamed("MyBtnXib", owner: self, options: nil)
        // any customization below
        ...
    }
}

В целом, хорошо использовать IBDesignable для ваших элементов пользовательского интерфейса и IBInspectable для разумных переменных, если вы используете IB.

...