Tengo una UITextView en una UITableViewCell personalizada. La vista de texto funciona correctamente (desplaza, muestra texto, etc.) pero necesito que los usuarios puedan tocar la celda de la tabla y acceder a otra pantalla. En este momento, si toca los bordes de la celda de la tabla (es decir, fuera de UItextView), se llama correctamente la siguiente vista. Pero claramente dentro de la vista de uitext, los toques se capturan y no se envían a la celda de la tabla.Cómo pasar el tacto de una UITextView a una UITableViewCell
Encontré una publicación que hablaba sobre la subclasificación de UITextView para reenviar los toques. Lo intenté sin suerte. La implementación está abajo. Me pregunto si tal vez a) el super de mi textview no es la celda de uitableview y por lo tanto necesito pasar el toque de otra manera ob) Si el super es la celda de uitableview si necesito pasar algo más? Cualquier ayuda sería muy apreciada.
#import "ScrollableTextView.h"
@implementation ScrollableTextView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesBegan:touches withEvent:event];
}
[super touchesBegan:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesCancelled:touches withEvent:event];
}
[super touchesCancelled:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesEnded:touches withEvent:event];
}
[super touchesEnded:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesMoved:touches withEvent:event];
}
[super touchesMoved:touches withEvent:event];
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
@end
Esto podría ser un poco viejo, pero tuve exactamente este mismo problema y esta línea lo resolvió. Gracias :) – gabaum10
¡Muchas gracias! Por cierto, si alguien prefiere configurar esto en Interface Builder: abra el panel de atributos de UITextView en el inspector, desplácese hasta la parte inferior donde se encuentra el panel "Ver", y desmarque "User Interaction Enabled". – AndrewO
El problema que tengo es que quiero que el usuario pueda tocar un número de teléfono, por ejemplo, pero aún así debo realizar la transición. Todavía estoy buscando la forma de hacer ambas cosas. Si alguien tiene cualquier sugerencia, por favor comunicármelo. Si descubro lo publicaré aquí. – DirectX