UILabel со ссылкой с более чем одной строкой

я хочу использовать UILabel со ссылкой.

для этого я использую IFTweetLabel, который находит любую ссылку и показывает строку под ней, и она активна.

но если строка большая, то только первая строка получает гиперссылку вместо полного URL-адреса.

как проблема с https://github.com/clawoo/IFTweetLabel/issues/3 .

так есть ли другой вариант для него или другая библиотека?


person PJR    schedule 27.09.2012    source источник
comment
Вы можете использовать UItextView для обнаружения и открытия ссылок. Почему бы вам не использовать его?   -  person AppleDelegate    schedule 27.09.2012
comment
но я думаю, что это приложение будет отвергнуто.   -  person PJR    schedule 27.09.2012
comment
Приложение не будет отклонено при использовании UITextView... Это контроллер, а свойство linkDetector предоставляется самой Apple.   -  person Suresh Varma    schedule 27.09.2012
comment
У вас есть решение? Потому что я также столкнулся с той же проблемой.   -  person Kaushal Bisht    schedule 28.11.2013


Ответы (4)


Сначала вам нужно импортировать фреймворк RegexKitLite. Пройдите по этой ссылке. Наверняка это вам поможет. Это дает то же самое, что вы хотите.

http://furbo.org/stuff/FancyLabel_1.0.zip

person dhaval rupani    schedule 20.12.2012
comment
Пожалуйста, добавьте больше деталей здесь. Как ссылка на zip-файл решает проблему авторов? Если это библиотека, на которую вы ссылаетесь, предложите, как ее использовать. - person Andy Obusek; 27.12.2012

Первое, что я хотел бы предложить, это

Используйте UITextView со свойством редактирования как НЕТ, и он автоматически обнаружит все ссылки по отдельности, похожие на ту, которая вам нужна.

textview.editable = NO;
textview.dataDetectorTypes = UIDataDetectorTypeAll;

Если вы все еще хотите использовать UILabel, тогда

Этого можно добиться, используя NSArrtibutedStrings — но я бы порекомендовал использовать какую-нибудь обертку вокруг этих C-функций. Мне нравится OHAttributedLabel.

Прилагаемая демонстрация точно показывает, как можно обрабатывать гиперссылки.

person Suresh Varma    schedule 27.09.2012
comment
я использую его с NSAttributedStr, и он работает нормально, но есть одна проблема, которую он не рассматривает? , например, если я напишу abc.com/a.asp?abc, то это не взять строку ?abc - person PJR; 27.09.2012

Вам следует попробовать проект three20.

person Maulik    schedule 27.09.2012
comment
на самом деле я видел код Fancy Label, он также использует IFTweetLabel - person PJR; 27.09.2012

по какой причине не используется UITextView.. есть свойство обнаружения ссылки для UITextView. Ваше приложение не будет отклонено

person AppleDelegate    schedule 27.09.2012