2013-07-19 3 views
4

У меня возникла интересная проблема с UITextView. Я использую этот код, чтобы поместить текстовое представление на экране loadView контроллера вида:UITextView - некоторые шрифты вызывают исчезновение текста

self.textView = [[UITextView alloc] init]; 
if (self.tutorialPage.text.length > 0) 
{ 
    self.textView.backgroundColor = [UIColor clearColor]; 
    self.textView.editable = NO; 
    self.textView.text = self.tutorialPage.text; 
    self.textView.showsVerticalScrollIndicator = NO; 
    self.textView.textColor = [UIColor whiteColor]; 
    self.textView.textAlignment = NSTextAlignmentLeft; 
    self.textView.translatesAutoresizingMaskIntoConstraints = NO; 
    //Later constraints are added 
} 

UIFont *font = [UIFont fontWithName:@"Noteworthy-Bold" size:(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? 20.0 : 15.0)]; 
self.textView.font = font; 
[self.view addSubview:self.textView]; 

Каждая строка этого кода вызывается, кстати, и вид текста, безусловно, на экране. Но почему-то, когда этот же код снова вызван для создания другого контроллера вида того же типа, текст не отображается. Однако, когда я выбираю текст в текстовом виде, нажав и удерживая, текст внезапно появляется.

Даже страннее, когда я изменить эту строку

UIFont *font = [UIFont fontWithName:@"Noteworthy-Bold" size:(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? 20.0 : 15.0)]; 

использовать другое имя шрифта, такие как @"Noteworthy-Light" или @"TimesNewRomanPS-BoldMT", вид текста ведет себя, как ожидалось ... Что может быть причиной этой проблемы ?

Кто-нибудь когда-нибудь видел эту проблему раньше? Если да, пожалуйста, поделитесь тем, как вы его решили или работали.

+0

Используйте его в поле зренияDidload –

+0

@iT. Пробовал переместить весь код загрузки-просмотра в viewDidLoad, за исключением части, которая выделяет представление, но не повезло. Я не использую IB для этого контроллера представлений, поэтому loadView - это то, где я создаю все мои подпрограммы и добавляю ограничения. – architectpianist

+0

Иногда используемая ОС или тип самого шрифта работают только на определенные вещи. Это может быть странно, потому что это зависит от того, какой шрифт вы используете. Даже если вы использовали общий шрифт, такой как Грузия. Это будет вести себя иначе, чем при использовании AppleGothic – user2277872

ответ

0

У меня была аналогичная проблема. Я решил это, сначала установив UIFont, а затем установив UIColour + NSTextAlignment. Короче говоря, вы должны установить: font -> colors/other attributes.

0

Если вы хотите сделать это текстовое поле первым ответчиком, чем сделать его в viewDidAppear вместо viewWillAppear. Ваша проблема будет решена.

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