Skip to content
This repository has been archived by the owner on Sep 21, 2021. It is now read-only.

top/bottom странно работают... #4

Closed
iwheelbuy opened this issue Jan 31, 2017 · 5 comments
Closed

top/bottom странно работают... #4

iwheelbuy opened this issue Jan 31, 2017 · 5 comments
Labels

Comments

@iwheelbuy
Copy link

У ячеек справа хочу получить стрелочки.
Выставляю ширину, прижимаю правый край к правому краю, высоты делаю одинаковые.
Осталось по Y правильно расположить. Если располагаю используя centerY, то все хорошо. Если пытаюсь прижать верх или низ, то получаю как на втором скриншоте. Почему так?

view.configureFrames { maker in
            maker.width(32.0)
            maker.right(to: nui_right, inset: 0.0)
            maker.centerY(to: nui_centerY, offset: 0.0)     // работает
            maker.height(to: nui_height, multiplier: 1.0)
//            maker.bottom(to: nui_bottom, inset: 0.0)        // не работает
        }

2017-02-01 1 15 52
2017-02-01 1 15 24

@artemnovichkov
Copy link

@iwheelbuy, ты можешь просто задать фиксированную ширину и привязать справа:

view.configureFrames { maker in
    maker.width(32)
    maker.top().right().and.bottom()
}

@Otbivnoe
Copy link
Owner

Otbivnoe commented Feb 1, 2017

@iwheelbuy nui_right и другие... нужно вызывать у конкретной view: view.nui_right для примера. Если отношение относительно superview, то параметр to: можно опустить, при услови что right("справа к superview") left("слева к superview") ...

@iwheelbuy
Copy link
Author

view.configureFrames { maker in
    maker.width(32.0)
    maker.top().right().and.bottom()
//    maker.right(to: nui_right, inset: 0.0)
//    maker.centerY(to: nui_centerY, offset: 0.0)
//    maker.height(to: nui_height, multiplier: 1.0)
//    maker.bottom(to: nui_bottom, inset: 0.0)
}

в результате получилось то же самое, что на втором скриншоте.

@Otbivnoe
Copy link
Owner

Otbivnoe commented Feb 1, 2017

@iwheelbuy configureFrames должен вызываться в layout - методе, viewDidLayoutSubviews для примера. Перенеси туда, поправь код с замечаниями, которые я описал выше и проверь. У меня сейчас нет возможности лично это проверить за машиной.

@iwheelbuy
Copy link
Author

iwheelbuy commented Feb 1, 2017

Все действительно заработало! Я что-то не догадался отправить это в layout метод... Думал может вы где-то храните значения конфигурации, свизлите layout метод и там применяете фреймы.

override func layoutSubviews() {
    super.layoutSubviews()
    viewImageArrow.configureFrames { maker in
        maker.width(32.0).right().top().bottom()
    }
}

Спасибо за фреймворк, постараюсь чаще применять 💯

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants