определение URL и форматирование его в UITextField

#iphone #objective-c #ipad #uitextfield

#iPhone #objective-c #iPad #uitextfield

Вопрос:

Я хотел бы иметь возможность красиво форматировать URL-адрес в моем UITextField. Допустим, текст UITextField равен

 textField.text = @"Hi this is a page for my website http://www.mywebsite.com";
  

Я бы хотел, чтобы это автоматически подчеркивалось, помечалось как гиперссылка, и когда пользователь нажимает на ссылку, он открывает сайт. Это похоже на любой клиент Twitter, который у вас есть (tweetdeck, tweetbot и т.д.). Как мне сделать это простым способом?

Ответ №1:

Вместо этого вы можете использовать UITextView и задать свойству dataDetectorTypes типы ссылок, которые вы хотите иметь возможность обрабатывать.

Комментарии:

1. существует ли делегат, который вызывается при нажатии на ссылку? или как мне с этим справиться?

2. @aherlambang: В документации для dataDetectorTypes говорится: «При нажатии текстовое представление открывает приложение, ответственное за обработку типа URL-адреса, и передает ему URL-адрес».

3. Я только что попробовал это, и кажется, что он открывает URL-адрес в полном окне браузера.. что, если я хочу, чтобы он открывался в UIModalView, как мне это сделать?

4. Если вы создаете подкласс UIApplication, можете ли вы перехватить вызов openURL: ? Вам нужно было бы определить, когда openURL даже вызывается первым — и это может оказаться ненадежным, если система изменит способ открытия URL-адресов в будущем.

Ответ №2:

эй, это действительно просто, вы можете настроить UITextFiled для обнаружения ссылок, вот так:

 myTextView.dataDetectorTypes = UIDataDetectorTypeAll
  

ознакомьтесь с моим руководством по этому вопросу на моем сайте для получения дополнительной информации
http://www.sdkboy.com