2012-04-16 10 views

risposta

6

Sarebbe meglio usare UIScrollView e gestire UITextView se UIImageView s in esso. UITextView non supporta l'aggiunta di immagini in linea con il testo. In realtà, non supporta in realtà niente di diverso dal testo multilinea.

Per il tuo commento qui sotto, ci sono tre cose mi vengono in mente per ottenere l'immagine come parte della casella di immissione testo:

  1. Non stanno utilizzando un UITextView, ma invece un po 'di visualizzazione personalizzata. Quel genere di cose è difficile da replicare.
  2. Sovrapponendo allo UITextView come sottoview e impostando il contentInset dello UITextView in modo da non sovrapporre uno.
  3. Si sta utilizzando un UIView separato per contenere sia il numero UITextView e il numero UIImageView come visualizzazioni secondarie e semplicemente organizzare tali sottoview come necessario.

Entrambi 2 & 3 sono molto simili (solo approcci leggermente diversi) e probabilmente il tuo approccio migliore. Personalmente, penso che 3 sia probabilmente il migliore, dal momento che ti dà il maggior controllo sulla posizione di entrambe le visualizzazioni, ma 2 dovrebbe funzionare anche bene.

+0

Grazie per la risposta, ma mi chiedo per la UITextView che si trova nella barra degli strumenti con pulsante di invio e pulsante della fotocamera, Come inserire UIImage in tale UITextview? –

+0

Ok, capisco ... Ho ampliato la mia risposta per darvi alcune opzioni. –

1

Sono d'accordo con Aaron. Sulla base di ciò che ho visto, credo che l'app nativa per gli SMS sia in realtà un UITableView con TableCell altamente modificati. Le TableCell sono quindi viste composite che contengono UITextView e UIImageView come suggerito da Aaron.

Potrebbe essere un po 'più di lavoro in anticipo, ma penso che troverete la personalizzazione della definizione del proprio UITableCell con gli elementi di cui sopra sarà abbastanza utile e in linea con il paradigma generale di iOS. Le cose funzionano molto meglio quando si lavora con i paradigmi nativi rispetto a quelli che li circondano.

Acclamazioni

0

Ho un suggetion che cercano di rendere file html con immagine e testo secondo le vostre esigenze e caricare il file html all'interno di WebView.

qui si può anche eseguire un testo particolare in grassetto ecc

Penso bel look poi campo di testo.

Per rendere WebView basta guardare come semplice vista di scorrimento appena messo questo metodo nel codice

Non dimenticate di scrivere questo

webView.opaque = NO;,

[self hideGradientBackground:webView]; e

- (void) hideGradientBackground:(UIView*)theView 
{ 
    for (UIView * subview in theView.subviews) 
    { 
     subview.backgroundColor = [UIColor clearColor]; 
     if ([subview isKindOfClass:[UIImageView class]]) 
      subview.hidden = YES; 

     [self hideGradientBackground:subview]; 
    } 
} 

Spero che questo possa aiutarti.

0

È possibile implementarlo utilizzando UITextViewDelegate e ContentInset.

- (void)viewDidLoad 
{ 
    self.textView.delegate = self; 
    [self.textView addSubview:self.addedView]; 
    [self.textView setContentInset:UIEdgeInsetsMake(0, 0, CGRectGetHeight(self.addedView.frame), 0)]; 
} 

- (void)textViewDidChange:(UITextView *)textView 
{ 
    NSLog(@"%@",NSStringFromCGSize(textView.contentSize)); 
    __weak typeof(self) wself = self; 
    [UIView animateWithDuration:0.5f animations:^{ 
     [wself.addedView setFrame:CGRectMake(0, textView.contentSize.height + 10, CGRectGetWidth(wself.addedView.frame), CGRectGetHeight(wself.addedView.frame))]; 
    }]; 
}