2010-07-09 12 views
7

Ogni volta che mi allargo un UITextView a una dimensione superiore a 512, con il codice come:UITextView larghezza superiore a 512 non mostra il testo

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

Non visualizza alcun testo più ... 512 opere , qualsiasi dimensione al di sotto di questo, ma qualcosa di maggiore di 512 e smette di visualizzare qualsiasi testo. Il codice completo:

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

Sto riscontrando lo stesso identico problema (inclusa la <512px "soluzione") in un textview istanziato da un NIB. La cosa strana è che il testo è lì (modificabile, selezionabile) ma non visibile. Dopo aver premuto invio nella vista testo, viene visualizzato il testo. Davvero strano – mvds

+0

Se è utile a chiunque, ho riscontrato un problema simile su http://stackoverflow.com/questions/10211133/ios-uitextview-not-displaying-correctly-bug – Jacksonkr

risposta

3

Pare UIViewAutoresizingFlexibleWidth fanno UITextView nascondere il testo di ipad. Ridimensionare con textView.frame=CGRectMake(0,0,768,21) può risolvere questo problema.

+1

Se il frame corrente è già corretto, è sufficiente specificare 'textView. frame = textView.frame; 'sembra funzionare. –

Problemi correlati