Как добавить подпредставление в пользовательском подпредставлении TitleView - PullRequest
0 голосов
/ 13 февраля 2019

Я установил пользовательский вид на titleView UINavigationBar.Когда я просто устанавливаю вид с рамкой, он работает нормально.

Однако, если я добавлю любое подпредставление к виду, которое я установил в виде заголовка, оно просто не появится.


Представление добавлено в titleView

class NavigationBarSearchBar: UIView {

    let view: UIView = {
        let v = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
        v.translatesAutoresizingMaskIntoConstraints = false
        return v
    }()


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

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }


    private func setupSubviews() {

        addSubview( view )
        [
        view.widthAnchor.constraint(equalToConstant: 20),
        view.heightAnchor.constraint(equalToConstant: 20),
        view.centerYAnchor.constraint(equalTo: centerYAnchor),
        view.centerXAnchor.constraint(equalTo: centerXAnchor)
        ].forEach { $0.isActive = true }
    }
}


Декларация о контроллере представления

private lazy var searchBar: UIView = {
        let sb = NavigationBarSearchBar(frame: CGRect(x: 0, y: 0, width: CGFloat.greatestFiniteMagnitude, height: 40))
        return sb
    }()


Установить пользовательский вид на панель навигации

navigationItem.titleView = searchBar

Ответы [ 2 ]

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

Создание представления с помощью Frame и добавление в навигационный элемент

var viewTitle = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 30))
viewTitle.backgroundColor = UIColor.red
navigationItem?.titleView = viewTitle
0 голосов
/ 13 февраля 2019
lazy   var searchBar:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 20))
searchBar.sizeToFit()
navigationItem.titleView = searchBar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...