2010-07-09 16 views
7

Ilekroć rozszerzają się UITextView do wielkości większej niż 512, z kodem takich jak:UITextView szerokości większej niż 512 nie pokazuje tekst

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

To nie wyświetla dowolny tekst już ... 512 prace , każdy rozmiar poniżej również, ale wszystko powyżej 512 i przestaje wyświetlać dowolny tekst. Pełny kod:

- (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

Mam ten sam problem (łącznie z rozwiązaniem <512px ") w tekście utworzonym przez NIB. Dziwne jest to, że tekst jest tam (edytowalny, możliwy do wybrania), ale po prostu nie jest widoczny. Po naciśnięciu klawisza Enter w wyglądzie tekstowym pojawi się tekst. Naprawdę dziwne. – mvds

+0

Jeśli jest to przydatne dla każdego, miałem podobny problem na http://stackoverflow.com/questions/10211133/ios-uitextview-not-displaying-correctly-bug – Jacksonkr

Odpowiedz

3

Wydaje UIViewAutoresizingFlexibleWidth zrobić UITextView ukryj tekst iPada. Zmiana rozmiaru za pomocą textView.frame=CGRectMake(0,0,768,21) może to naprawić.

+1

Jeśli bieżąca klatka jest już poprawna, wystarczy podać 'textView. frame = textView.frame; 'wydaje się działać. –

Powiązane problemy