2010-07-09 4 views
7

Всякий раз, когда я расширяю в UITextView с размером больше, чем 512, с кодом, такие как:UITextView ширина больше 512 не показывает текст

textView = [[UITextView alloc] initWithFrame: CGRectMake(0, 0, 513, 1024)]; 

Он больше не отображать любой текст ... 512 работ , любой размер ниже этого тоже, но что-то большее, чем 512, и он перестает отображать любой текст. Полный код:

- (void)loadView { 
    self.navigationItem.hidesBackButton = YES; 

    self.view = [[UIView alloc] init]; 
    self.view.backgroundColor = [UIColor blackColor]; 

    RDLocalizedStrings * strings = [RDLocalizedStrings defaultLocalizedStrings]; 

    NSString* message = [strings getStringWithKey: @"noUpdatesAvailableText"]; 

    CGFloat messageFontSize; 

    RDRectCreate(message); 

    BOOL iPad = NO; 
#ifdef UI_USER_INTERFACE_IDIOM 
    iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad); 
#endif 
    if (iPad) { 
     RDRectWrite(message, 0, 100, 513, 200); 
     messageFontSize = 20.0; 
    } else { 
     RDRectWrite(message, 0, 0, 320, 480); 
     messageFontSize = 20.0; 
    } 

    textView = [[UITextView alloc] initWithFrame: messageRect]; 
    textView.text = message; 
    textView.backgroundColor = [UIColor redColor]; 
    textView.textAlignment = UITextAlignmentCenter; 
    textView.textColor = [UIColor whiteColor]; 
    textView.font = [UIFont systemFontOfSize: messageFontSize]; 
    textView.editable = NO; 

    [self.view addSubview: textView]; 
} 
+1

Я испытываю эту ту же проблему (включая <512px "решение") в текстовом представлении, созданном из NIB. Странно то, что текст есть (редактируемый, выбираемый), но просто не видимый. После ввода текста в текстовое окно появляется текст. Действительно странно. – mvds

+0

Если это кому-то полезно, у меня была аналогичная проблема на http://stackoverflow.com/questions/10211133/ios-uitextview-not-displaying-correctly-bug – Jacksonkr

ответ

3

Казалось UIViewAutoresizingFlexibleWidth сделать UITextView скрыть текст Ipad в. Изменение размера с помощью textView.frame=CGRectMake(0,0,768,21) может исправить это.

+1

Если текущий фрейм уже правильный, просто указав 'textView. frame = textView.frame; 'похоже, работает. –

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