Подчеркните предложения в UITextView прикосновением

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

0
nl ja de
Я рекомендую использовать Основной текст для этого.
добавлено автор dasdom, источник

2 ответы

Я использовал бы UITextView с приписанным текстом и изменил бы признаки по мере необходимости.

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"All work an no play makes Jack a dull boy."];
[attributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(15, 4)];
self.textView.attributedText = attributedString;

где self.textView является IBOutlet к вашему , UITextView и ценности , NSRange определяются вашим взаимодействием с пользователем.

1
добавлено

The problem is that internally a UITextView is a UIWebDocumentView (aka WebKit) and HTML has different rules for underlining words than normal text editors. See my analysis here: http://www.cocoanetics.com/2012/12/uitextview-caught-with-trousers-down/

Подход, чтобы установить attributedString проблема, что вы только были бы в состоянии установить весь текст.

Так как у нас нет прямого доступа в текстовом контейнере в UIWebDocumentView, и из-за запутанности HTML вы не можете надеяться достигнуть прекрасного результата.

You can only solve this problem by rendering the text yourself with CoreText. My open source component DTCoreText could help with the display. I am also selling a commercial component for rich text editing that is based on that: http://www.cocoanetics.com/2012/12/dtrichtexteditor-1-1/

PS: он стандартный метод для toggling, который в настоящее время отбираемый диапазон подчеркнутого текста toggleUnderline: определил как таковой:

@interface NSObject(UIResponderStandardEditActions)  //these methods are not implemented in NSObject

- (void)cut:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)copy:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)paste:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)select:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)selectAll:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)delete:(id)sender NS_AVAILABLE_IOS(3_2);
- (void)makeTextWritingDirectionLeftToRight:(id)sender NS_AVAILABLE_IOS(5_0);
- (void)makeTextWritingDirectionRightToLeft:(id)sender NS_AVAILABLE_IOS(5_0);
- (void)toggleBoldface:(id)sender NS_AVAILABLE_IOS(6_0);
- (void)toggleItalics:(id)sender NS_AVAILABLE_IOS(6_0);
- (void)toggleUnderline:(id)sender NS_AVAILABLE_IOS(6_0);

@end

Это точно, что добавляет контекстное меню, позволяете ли вы редактирование признака. Если вы не довольны результатом здесь, то мой выше заявлений - способ пойти.

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.