У меня UITextView *_masterText
и после вызова метода setText
свойство шрифта сбрасывается. Это происходит после того, как я меняю sdk 7. _masterText - это IBOutlet
глобальный и свойства устанавливаются в раскадровке. Это только у меня или это вообще баг SDK?
@interface myViewController : UIViewController
{
IBOutlet UITextView *_masterText;
}
@implementation myViewController
-(void)viewWillAppear:(BOOL)animated
{
[_masterText setText:@"New text"];
}
ios
cocoa-touch
fonts
uitextview
Błażej
источник
источник
Я столкнулся с той же проблемой (на Xcode 6.1), и хотя ответ Джона Когана работал для меня, я обнаружил, что расширение класса UITextView категорией было лучшим решением для моего конкретного проекта.
интерфейс
реализация
источник
extension UITextView { func setSafeText(text: String){ let originalSelectable = selectable selectable = true self.text = text selectable = originalSelectable } }
Если вы хотите, чтобы ваше текстовое представление было «только для чтения», вы можете выбрать «Редактируемый» и «Выбираемый» и снять флажок «Взаимодействие с пользователем включено», при этом UITextView ведет себя так, как я хотел
источник
Помогла ли мне эта проблема, и приведенный выше ответ помог, но я добавил обертку к своему коду ViewController следующим образом и просто передаю экземпляр и текст uiview для изменения, а функция обертки включает значение Selectable, изменяет текст, а затем снова выключает его. Полезно, когда вам необходимо отключить uitextview по умолчанию.
источник
РЕДАКТИРОВАТЬ :
Настройка шрифта для UITextView в iOS 7 работает для меня, если сначала вы установите текст, а затем установите шрифт:
В XIB-файле, если вы добавите некоторый текст в UITextView и измените шрифт или цвет, он будет работать.
источник
Вот быстрое решение подкласса, которое я часто использую для этой проблемы.
источник
Эта проблема вновь появилась в Xcode 8. Вот как я это исправил:
Изменено расширение на:
и проверил опцию Выбираемый в Интерфейсном Разработчике.
Не очень элегантно иметь этот «выбираемый» параметр, но он подойдет.
источник
В iOS 8.3 обходной путь установки «выбираемого» в YES до setText и NO после этого не исправил это для меня.
Я обнаружил, что мне нужно было также установить «selectable» на YES в раскадровке, прежде чем это сработает.
источник
Это сработало для меня:
источник
Для меня с атрибутивным текстом мне просто нужно было установить шрифт в словаре атрибутов, а не устанавливать его в своем собственном поле.
источник
У меня возникла эта проблема. Удобное решение ответа на вопрос @Ken Steele. Я расширяю UITextView и добавляю вычисляемое свойство.
Надеюсь, поможет.
источник
Прошло 3 года, и ошибка все еще существует в последней стабильной версии Xcode (7.3). Очевидно, что Apple не будет исправлять это в ближайшее время, предоставляя разработчикам две опции: оставляя selectable on и устанавливая UserInteractionEnabled в false или Method swizzling.
Если у вас есть кнопка в вашем textView, первого будет недостаточно.
Решение, не требующее изменения кода в swift:
Objective-C:
источник
Используя обходной путь, обсуждаемый в этом выпуске, это расширение UITextView предоставляет
setTextInCurrentStyle()
функцию. Основано на решении Алессандро Ранальди, но не требует, чтобы текущее значение isSelectable передавалось функции.источник