2016-05-18 2 views
0

Вопрос довольно прост - мне очень нравится использовать UIStackView для организации пользовательского интерфейса. Однако я не мог видеть границу UIStackView в тестовом приложении. Когда элементы пользовательского интерфейса не ожидаются, мне нужно потратить столько времени на отладку. Поиск в Интернете, я не мог найти способ показать границы UIStackView.Визуализация UIStackView?

ответ

2

Вы пытались нажать на кнопку Debug View Иерархия кнопка в панели отладки?

enter image description here

Пожалуйста, обратитесь к этому (от Apple): Specialized Debugging Workflows.

+1

спасибо, ferunandu. Я этого раньше не знал. Очень круто! –

+0

Как я могу открыть этот инструмент?!?!?! – ngoue

1

Я бы воспользовался поддержкой Xcode «Инициатива просмотра отладки», как показывает ответ ферунанду. Это самый простой способ, поскольку UIStackView реализован специально , а не для рендеринга любой графики (используя в качестве слоя CATransformLayer).

Но есть способ увидеть «границу» представления стека на месте во время выполнения. Просто добавьте другое представление (в любом месте иерархии представлений) и ограничьте его тем же фреймом, что и представление стека. Вы можете сделать это в раскадровке или в коде. Вот как вы могли бы сделать это в коде:

extension UIStackView { 

    func showBoundary() { 
     let boundary = UIView() 
     boundary.layer.borderColor = UIColor(red: 0.8, green: 0.5, blue: 1, alpha: 0.5).CGColor 
     boundary.layer.borderWidth = 1 
     boundary.backgroundColor = nil 
     boundary.frame = self.bounds 
     boundary.autoresizingMask = [ .FlexibleWidth, .FlexibleHeight ] 

     addSubview(boundary) // Note: **not** addArrangedSubview! 
    } 

} 

Затем вызовите stackView.showBoundary() на ваш взгляд стека.

+0

Я добавил это в свой код. Благодаря!. –

Смежные вопросы