Имеет странную проблему с использованием автоматической компоновки с UILabel, где она изменяет размер почти до размера своего содержимого меньше одной строки (меня гайки). Таким образом, в основном, кажется, доходит до того места, где оно должно составлять минус несколько пикселей, что приводит к появлению эллипсов в конце при сокращении до iPhone 5 или 6. Он отлично работает на 6+, для чего предназначен размер XIB.UILabel не полностью изменяет размер с помощью автоматической компоновки (почти по одной строке)
Вот что такое XIB и что у меня есть ограничения. Метка - это «Большая длинная метка, вот описание события».
На основе этого stack post, я думал, что я собирался, чтобы понять это. Я пробовал оба метода, упомянутых в сообщении. Все четыре ограничения на скриншоте установлены в 1000. Если я сделаю то, что пишет сообщение, и добавьте ограничение высоты с приоритетом 500, что меньше приоритетов вертикального обхода и вертикального сжатия, оно все равно не работает. Я также просто не установил ограничение по высоте, сохранил предпочтительную ширину и установил ограничения на ведущее и конечное пространство, о которых упоминалось в комментариях. Количество линий установлено равным 0.
Чтобы сделать ставку, UILabel
находится в UIView
, установленном как contentView
. Затем я добавляю contentView
в UIScrollView
. UIScrollView
автоматически настраивается путем закрепления contentView
на 0 для всех четырех сторон. contentContainer
также ограничен шириной экрана (не идеально, но только так, как я смог заставить его работать), не уверен, что это имеет какое-либо отношение к этой проблеме). Я не получаю никаких проблем с ограничениями в консоли. translatesAutoresizingMaskIntoContraints
установлено на NO
для contentView
. Вот что UILabel
выглядит, когда гласил:
Она должна быть одна строка длиннее в нижней части, чтобы соответствовать. Кто-нибудь, пожалуйста, помогите мне!
Да, это правильный способ исправить вашу проблему, и да, это хаки. Apple действительно должна что-то сделать в этом imho, потому что это бросает много людей. Если вы подклассифицируете UILabel, поместите там этот код, а затем используйте свой подкласс вместо UILabel напрямую, тогда вы сэкономите себе много головных болей. – xsee