Загрузка Nib-файла в качестве inputAccessoryView

У меня есть файл пера. Изображение прикреплено. Я хотел бы этот Nib-файл в качестве inputAccessoryView. Причина того, что аксессуар ViewView не придерживается безопасной зоны на iphoneX. Grrrr!

Я настроил свой Nib-файл в соответствии с этим руководством... https://medium.com/code-with-rohit/inputaccessoryview-and-iphonex-7b5547fe98da

Как правильно получить этот Nib-файл внутри inputAccessoryView?

Структура ограничений файла пера

У меня есть свой собственный класс "AccessoryView" в качестве владельца файла. Отсюда я борюсь.

Любая помощь как всегда высоко ценится.

ОБНОВЛЕНИЕ: я удалил владельца файла и добавил класс в верхнее представление.

В моем классе AccessoryView у меня есть

override init(frame: CGRect) { // for using CustomView in code
        super.init(frame: frame)
        self.commonInit()
    }

    required init?(coder aDecoder: NSCoder) { // for using CustomView in IB
        super.init(coder: aDecoder)
        if self.subviews.count == 0 {
            self.commonInit()
        }
    }

    class func instanceFromNib() -> UIView {
        return UINib(nibName: "AccessoryView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView
    }


    private func commonInit() {
        guard let container = accessoryViewContainerView else { return }
        container.frame = self.bounds
        container.autoresizingMask = [.flexibleHeight, .flexibleWidth]
        self.addSubview(container)
    }
}

Но это дало мне следующий эффект:

новый эффект после изменений

Затем я добавляю представление к inputAccessoryView как таковое:

override var inputAccessoryView: UIView? {
        get {
            return AccessoryView.instanceFromNib()
        }
    }

Как вы можете видеть, он добавил подпункты, но ограничения все отключены.

0 ответов

Другие вопросы по тегам