2010-12-02 6 views
21

Actualmente estoy desarrollando una aplicación de edición de texto simple para iPad. Quiero establecer márgenes izquierdos/derechos como la imagen adjunta. Simplemente agregar UITextView en otra UIView con mayor ancho no funcionará porque un indicador de desplazamiento no se ubicará correctamente.¿Cómo establecer un margen en UITextView?

En lugar de UIView, agregué UITextView en UIScrollView, y funciona casi de maravilla. Pero a veces muestran comportamientos extraños, y UITextViewDelegate no funciona con mi UIViewController.

¿Hay alguna forma de establecer los márgenes izquierdo/derecho solo con UITextView? Gracias.

alt text

Respuesta

6

UITextView es una subclase de UIScrollView. Yo no lo he probado pero se puede intentar algo como:

myTextView.contentInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f); 

UIEdgeInsetsMake() es la siguiente:

UIEdgeInsets UIEdgeInsetsMake (
    CGFloat top, 
    CGFloat left, 
    CGFloat bottom, 
    CGFloat right 
); 

lo que debería ser capaz de inserte su contenido Textview.

Espero que esto ayude, hágamelo saber si funciona! :)

+1

funciona como se esperaba –

+7

Esto no funciona para mi. Por supuesto, los márgenes se agregan, pero se agregan fuera de los límites de UITextView. El resultado es una pantalla de texto que comienza alineada con el borde, pero puede desplazarse hacia afuera hasta el margen. ¿Qué me estoy perdiendo? –

4

Yo quería hacer lo mismo, pero textview.contentInset no funcionó.

Pongo UITextView con un ancho estrecho en UIView, luego muevo el indicador scrollview de textview al lado derecho, así que obtuve lo que realmente quería.

textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake (0.0f, 0.0f, 0.0f, -20.0f);

Esta respuesta podría ayudar. Is there a way to put UITextView's scroll indicator to outside UITextView?

1

Puede configurar el desplazamiento del valor del recuadro derecho de UITextView a valor negativo y deshabilitar la opción de subvista de clip para lograr su requerimiento. No se necesita otra vista de desplazamiento. Select textview on storyboard first

En el código sería

textView.clipsToBounds = NO; 
textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, -50.0f); 
8

Usted puede utilizar la propiedad textContainerInset

Siguiendo el ejemplo de George Green:

myTextView.textContainerInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f); 
+1

Esto solo funciona para la orientación de aplicaciones> = iOS 7.0 – Hemang

+0

Sí, solo> = iOS 7.0 – NES8

Cuestiones relacionadas