2013-10-25 5 views
1

У меня есть длинная строка, чтобы показать на UIButton. Я хочу показать первые 2 строки, и если текст длиннее этого - добавьте кнопку More, которая выведет alertview, чтобы показать полный текст. Смотрите изображениеДобавить еще кнопку в UiButton

enter image description here

Что такое лучший способ сделать это?

ответ

0

Добавьте дополнительную кнопку и подключите ее стандартным способом, но установите ее в скрытую. Затем определите длину строки и посмотрите, больше ли она вашего текста. Если это так, установите кнопку больше на видимую. Когда кнопка нажата, измените размер текста и добавьте больше строк.

+0

Можете ли вы привести пример кода? –

+0

@AzkaarAli В какой части ответа у вас возникли проблемы? –

+0

Что вы подразумеваете под длиной в этом контексте? Длина строки? CGRect, который ограничивает текст на экране? Если последнее, кажется, вы не можете напрямую сравнивать размер NSString на экране с размером UITextView, потому что UITextViews ограничивает их содержимое. [Источник] (http://stackoverflow.com/a/5641169/257533) –

0

В настоящее время я не вокруг Mac, поэтому не принимайте этот ответ как Евангелие.

Я думаю, что если вы добавили UILabel как подвид в виде UIButton и установки лейбла только показать две строки до усечения, вы могли бы обнаружить, если отображаемый текст отличался от фактического текста, который вы использовали при создании этикеткой с использованием метода NSStringisEqualToString:. Если строки различны, вы знаете, что метка усечена, и вы должны показать кнопку «больше». Я нашел this код на StackOverflow, который возвращает NSString в произвольном NSRect.

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