UITextview no muestra el indicador de desplazamiento

self.textView = [[[UITextView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)]autorelease];

self.textView.textColor = [UIColor whiteColor];

self.textView.font = [UIFont fontWithName:@"Georgia-BoldItalic" size:14];

self.textView.backgroundColor = [UIColor colorWithHue:2.0/12 saturation:2.0 brightness:4.0/10 alpha:1.0];

[self.textView flashScrollIndicators];

self.textView.showsHorizontalScrollIndicator = YES;

self.textView.scrollEnabled = YES;

self.textView.layer.borderWidth = 1;

self.textView.layer.borderColor = [[UIColor whiteColor] CGColor];

self.textView.layer.cornerRadius = 1;

self.textView.textAlignment =  UITextAlignmentCenter;

Lo que me falta aquí para mostrar la barra de desplazamiento para UITextView o para habilitar el desplazamiento de la vista de texto.

Agradezco la ayuda.

preguntado el 09 de marzo de 12 a las 23:03

¿El desplazamiento de la vista de texto simplemente no muestra los indicadores, o no se desplaza en absoluto? -

2 Respuestas

self.textView.showsVerticalScrollIndicator = YES;

¿Eso es lo que estás buscando?

respondido 09 mar '12, 23:03

¿Tiene suficiente texto dentro de UITextView para permitir el desplazamiento? - oso de conteo

tengo un contenido de vista de texto largo - user1120133

¿Está configurando su .xib mediante programación o realmente está configurando las cosas en Interface Builder? Iba a decir configurar un IBOutlet y configurar explícitamente todo para sus vistas de texto. En lugar de hacer self.textView, podría usar el nombre de su IBOutlet. Por ejemplo, si hizo IBOutlet como: IBOutlet UITextView *yourTextView, podría hacer yourTextView.showsVerticalScrollIndicator = YES; - oso de conteo

no hay interacción con el teclado - user1120133

La vista de texto está debajo del teclado. No se desplazará hasta que haya ingresado suficiente texto para llenar todas las líneas que no puede ver, e incluso entonces no podrá desplazarlo todo hacia arriba para verlo. Para hacer esto correctamente, debe escuchar las notificaciones de cambio de tamaño del teclado y ajustar el tamaño de la vista de texto para que se ajuste al espacio visible. Después de crear la vista de texto, suscríbase a las notificaciones de cambio de tamaño del teclado:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

luego implementar esos métodos:

- (void)keyboardDidShow:(NSNotification*)notification
{
    NSValue* val = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect keyboardRect = [[self.view window] convertRect:[val CGRectValue] toView:self.textView];

    CGRect rect = self.textView.frame;
    rect.size.height = CGRectGetMinY(keyboardRect);
    self.textView.frame = rect;
}

- (void)keyboardWillHide:(NSNotification *)notification
{
    self.textView.frame = CGRectMake(0, 0, 320, 416);
}

Finalmente, si el objeto que se suscribió a las notificaciones (supongo que un controlador de vista) va a desaparecer en algún momento de la vida útil de su aplicación, también deberá cancelar la suscripción antes de que se desasigne. (E incluso si no lo es, hazlo de todos modos porque es una buena práctica).

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];

    // ...

    [super dealloc];
}

respondido 10 mar '12, 06:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.