Cómo establecer el contenido del recuadro para UITextView en ios

Estoy teniendo un UITextView y establecer el contenido del recuadro como

[atextView setContentInset:UIEdgeInsetsMake(0, 10, 0, 0)];

Este código trabajando en iOS 6.1 y por abajo, pero no pasa nada en iOS 7.0.

  • Es allí una manera de hacer esto GUIÓN ?!
  • ¿has probado respuesta actualizada?
  • Sí no es así , compruebe mi solución por debajo de Joe Blow
  • gracias por la actualización.

2 Kommentare

  1. 133

    obtuvo respuesta:

    [atextView  setTextContainerInset:UIEdgeInsetsMake(7, 7, 0, 0)];

    solucionado mi problema.

    Y en Swift…

    @IBOutlet var tv:UITextView!
    override func awakeFromNib() {
        super.awakeFromNib()
        tv.textContainerInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    }

    ACTUALIZACIÓN: otra opción para hacer eso.

    UIView *spacerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
    [msgtext setLeftViewMode:UITextFieldViewModeAlways];
    [msgtext setLeftView:spacerView];
    • hey @murugha23 , necesito ayuda en cómo se resuelve textview setContentInset problema en IOS7
    • reemplazar setTextContainerInset en lugar de setContentInset. Si desea proporcionar a las versiones anteriores de ios, a continuación, comprobar una condición reg., dispositivo actual versión del sistema
    • sí querida he hecho eso pero no funcionó para mí
    • sería bueno si me puedes proporcionar un código de ejemplo de su clase,incluyendo el teclado y el textview diversos métodos ,así que yo puedo tener una idea clara
    • en realidad, ¿cuál es tu problema ? es la configuración de forma incorrecta o completamente no?
    • Completamente no funciona
    • puede publicar su código como pregunta y me envía el enlace?
    • Sí, yo soy la publicación de la pregunta y la publicación de vínculo pronto
    • Tenga en cuenta que sólo se debe utilizar uno o el otro. El uso de ambos juntos resultado indeseable de aditivo comportamiento.
    • antes de usar el código de arriba voy a comprobar el estado de la versión de ios
    • Funciona a la perfección para mí. Gracias @murugha23
    • Lo que he descubierto es que hay algo extraño (buggy) la interacción entre los setTextContainerInset UIEdgeInsets valores. Yo era capaz de obtener el comportamiento quería como se describe aquí: stackoverflow.com/questions/19422578 me gustaría recomendar (a ciegas) liarte con los 4 valores para intentar encontrar un comportamiento aceptable.

  2. 2

    Una alternativa y tal vez un poco de forma más cómoda de hacerlo, por subclases de la UITextField y agregar un @IBInspectable margen de la propiedad.

    import UIKit
    
    class UITextfieldWithInset: UITextField {
    
        @IBInspectable
        var textfieldInset: CGPoint = CGPointMake(0, 0)
    
        override func textRectForBounds(bounds: CGRect) -> CGRect {
            return CGRectInset(bounds, textfieldInset.x, textfieldInset.y)
        }
    
        override func editingRectForBounds(bounds: CGRect) -> CGRect {
            return CGRectInset(bounds, textfieldInset.x, textfieldInset.y)
        }
    
        override func placeholderRectForBounds(bounds: CGRect) -> CGRect {
            return CGRectInset(bounds, textfieldInset.x, textfieldInset.y)
        }
    
    }
    • Esta es una buena respuesta para UITextField, pero la pregunta es acerca de UITextView

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea