Imagen interior UIBubbleTableView

Estoy haciendo una aplicación de chat iOS. Utilizo UIBubbleTableView para mostrar texts e imágenes.

Ahora, quiero que la image pueda hacer clic y se moverá a otra vista (que la gente puede ver en tamaño completo). Pero UIBubbleTableView parece no es compatible, entonces, ¿cómo puedo solucionarlo?

Aquí está mi código en viewDidLoad:

 - (void)viewDidLoad { //Something here// [super viewDidLoad]; NSBubbleData *photoBubble = [NSBubbleData dataWithImage:[UIImage imageNamed:@"halloween.jpg"] date:[NSDate dateWithTimeIntervalSinceNow:-290] type:BubbleTypeSomeoneElse]; //something else here// } 

Con estos códigos solo muestra la image.

Sé que esta no es la forma recomendada o ideal de hacerlo, pero esto es lo que he hecho por el momento. Es probable que vuelva a hacerlo y lo haga "correctamente" más tarde cuando encuentre una buena manera.

Para cada object NSBubbleData, agrego un gesto táctil a su vista. Cuando el usuario toca, se llama al método touchEventOnImage: Desde el remitente, puede get el reconocedor de gestos, cuya vista es la de UIImageView establecida por NSBubbleData. Puede mostrar esta image a pantalla completa.

Este es el código que utilicé:

 - (void)addTouchGestureToBubble:(NSBubbleData *)oBubbleData { UITapGestureRecognizer * tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(touchEventOnImage:)]; [tapRecognizer setNumberOfTouchesRequinetworking:1]; //Don't forget to set the userInteractionEnabled to YES, by default It's NO. oBubbleData.view.userInteractionEnabled = YES; [oBubbleData.view addGestureRecognizer:tapRecognizer]; } - (void)touchEventOnImage:(id)sender { if( [sender isKindOfClass:[UIGestureRecognizer class]] ) { UIGestureRecognizer * recognizer = (UIGestureRecognizer *)sender; if( [recognizer.view isKindOfClass:[UIImageView class]] ) { UIImageView * imageView = [[UIImageView alloc] initWithImage:((UIImageView *)recognizer.view).image]; imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height); imageView.backgroundColor = [UIColor blackColor]; // Remove the corner radius applied in the NSBubbleData class. imageView.layer.cornerRadius = 0.0; UIViewController * vc = [[UIViewController alloc] init]; vc.view = imageView; [self.navigationController pushViewController:vc animated:YES]; } } } 

Espero que esto te ayude, al less, a progresar.