2016-10-05 3 views
4

Я использую раскадровку для создания своего UIView. Но я застрял в задаче: у меня многострочный UILabel, UIView и UIButton. Я хочу сделать UILabel, чтобы обернуть мою кнопку - первая строка текста имеет ограничение на конец: UIButton еще один для супер-просмотра. И если мой UILabel не имеет текста, я получил представление в нижней части ярлыка, и мне нужно сделать это ограничение для просмотра до UIButton, но если бы я получил свободное пространство - его супервизор. Скриншот пример:Сделать многострочный UILabel обернуть кнопку

enter image description here

Я хочу прыгнуть второй строки слово после того, как «Пиа». Извините за мой плохой английский, надеюсь, что картина может помочь объяснить мой вопрос. Можно ли сделать это непосредственно в IB?

+3

Я бы предложил использовать 'UITextView' вместо' UILabel' (с некоторой быстрой модификацией он будет выглядеть и действовать как 'UILabel') и использовать' yourTextView.textContainer.exclusionPaths', но это будет быть с кодом, а не IB. – Larme

+0

Извините, это невозможно с помощью interfacebuilder –

+0

@Jecky Можете ли вы посоветовать мне, как это сделать? Язык Obj-c –

ответ

0

Возможно, вместо UILabel вы можете использовать UITextView, используя свой объект textView.textContainer.exclusionPaths, чтобы определить область контейнера с кнопками, чтобы ее исключить.

Посмотрите на sample code с reported issue for selected and editable case.

Насколько я помню, вы должны ограничить минимальный целевой показатель развертывания приложения до 7 или более поздних версий, если вы используете это свойство.

Надеюсь, что это поможет!

0

Что вы хотите сделать, не поддерживается из коробки и займет много работы, потому что для этого потребуется подклассификация UILabel и переопределение drawRect.

Простое решение - установить атрибутный текст на этикетке и использовать его для форматирования определенного слова, чтобы оно выглядело как кнопка. UILabel приписывает текст поддерживает гиперссылку, как поведение.

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

  • Нет связанных вопросов^_^