2012-04-16 5 views
5

Quiero insertar UIImageView en UITextView de la barra de herramientas con botón enviar y cámara de la misma forma que el predeterminado de iPhone La aplicación SMS lo haceCómo insertar UIImageView en UITextView de la misma manera que la aplicación de mensaje predeterminado de iphone (SMS) para insertar contenido multimedia en la UITextView

+0

Por favor, compruebe lo siguiente: - http://stackoverflow.com/questions/2117460/how-to-insert-uiimage-into-uitextview/18145676#18145676 –

Respuesta

6

Sería mejor utilizar un UIScrollView y administrar UITextView sy UIImageView s en él. UITextView no admite agregar imágenes en línea con el texto. De hecho, realmente no admite nada más que texto de líneas múltiples.

por su comentario a continuación, hay tres cosas que se me ocurren para obtener la imagen como parte del cuadro de entrada de texto:

  1. No están usando un UITextView, pero en su lugar alguna vista personalizada. Ese tipo de cosas es difícil de replicar.
  2. Están superponiendo un UIImageView sobre el UITextView como una subvista y configurando el contentInset del UITextView para que no haya superposición.
  3. Están utilizando un UIView por separado para contener tanto el UITextView como el UIImageView como subvistas y simplemente organizar esas subvistas según sea necesario.

Ambos 2 & 3 son muy similares (enfoques ligeramente diferentes) y probablemente su mejor enfoque. Personalmente, creo que 3 es probablemente el mejor, ya que le da el mayor control sobre la posición de ambas vistas, pero 2 también debería funcionar bien.

+0

Gracias por la respuesta, pero estoy pidiendo la UITextView que está en la barra de herramientas que tiene botón de enviar y botón de cámara, ¿Cómo ingresar UIImage en esa UITextview? –

+0

Ok, ya veo ... Expandí mi respuesta para darle algunas opciones. –

1

Estoy de acuerdo con Aaron. Según lo que he visto, creo que la aplicación de SMS nativa es en realidad una UITableView con TableCells altamente modificados. Las TableCells son entonces vistas compuestas que contienen UITextView y UIImageView como sugirió Aaron.

Puede ser un poco más de trabajo por adelantado, pero creo que encontrará que la personalización de la definición de su propia UITableCell con los elementos anteriores será bastante útil y se alineará con el paradigma general de iOS. Las cosas funcionan mucho mejor cuando trabajas con los paradigmas nativos que contra/alrededor de ellos.

Saludos

0

tengo una suggetion que tratan de hacer archivo html con la imagen y el texto según sus necesidades y cargar el archivo HTML en vista web.

aquí también se puede recuperar algo de texto en particular en negrilla etc.

Creo aspecto agradable a continuación campo de texto.

Para hacer vistas web acaba de ver como vista simple de desplazamiento sólo hay que poner este método en su código

no se olvidó de escribir este

webView.opaque = NO;,

[self hideGradientBackground:webView]; y

- (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]; 
    } 
} 

Espero que esto te pueda ayudar.

0

Puede implementarlo utilizando UITextViewDelegate y 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))]; 
    }]; 
} 
Cuestiones relacionadas