Snapkit lessThanOrEqualTo по умолчанию настроен на предустановку

Я хотел бы установить размер кнопок для границ супервизора на небольших устройствах, таких как iPhone, но никогда не позволяйте ему превышать 200 на таких устройствах, как iPad (мой супервизор — это вид, который является частью горизонтального представления стека с двумя представлениями).

buttonControl.snp.makeConstraints { (make) in
            make.left.equalTo(box).priority(.low)
            make.width.lessThanOrEqualTo(200).priority(.high)
            make.height.equalTo(buttonControl.snp.width)
            make.center.equalTo(box).priority(.high)
        }

Я ожидал, что кнопка увеличится в размере до 200.

Вместо этого его максимальный размер составляет 64, предустановка Snapkit. Спасибо за любую помощь, которую вы можете предоставить!


person mkf    schedule 11.12.2017    source источник


Ответы (2)


Я хотел того же для слайдера, который делал. Это сработало для меня:

    slider.snp.makeConstraints {(make) in
        make.right.equalTo(box).offset(-10).priority(.low)
        make.width.lessThanOrEqualTo(350).priority(.high)
        make.top.equalTo(box).offset(10)
        make.left.equalTo(box).offset(10)
    }

Я думаю, вам нужно сначала установить «правильный» как низкий приоритет, а затем применить lessThanOrEqualTo как высокий приоритет.

person Narwhal    schedule 29.12.2017

Первая часть связана с распознаванием устройства: ссылка или ссылка

Во-вторых, проверяет его тип внутри метода makeConstraints. Если устройство iPad, настройте его так: make.width.equalTo(200) в другом случае измените его на что угодно.

person biloshkurskyi.ss    schedule 22.12.2017