Tengo UITextView con algo de texto. Todo estaba bien con iOS 6, pero ahora con iOS 7 deja el espacio en blanco en la parte superior y luego coloca el texto debajo de la mitad de la vista de texto.
No configuré ningún contentOffSet. ¡Por favor ayuda!
                    
                        ios
                                iphone
                                xcode
                                cocoa-touch
                                uitextfield
                                
                    
                    
                        Ali Sufyan
fuente
                
                
            fuente

La respuesta actual que dio IronManGill no es una buena solución, porque no se basa en la comprensión de por qué ocurre el problema en primer lugar.
La respuesta de jrturton tampoco es la forma más limpia de resolverlo. No es necesario anular. ¡Mantenlo simple!
Todo lo que necesita es configurar lo siguiente:
en el método viewDidLoad.
Consulte los documentos: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
fuente
automaticallyAdjustsScrollViewInsetses obsoleto. Desde iOS11, usecontentInsetAdjustmentBehaviorEn Interface Builder,
fuente
Esto funcionó para mi
fuente
Ir a
Interface Builder:view controllerque contenga sutext viewAdjusts Scroll View Insetspropiedadfuente
Realmente me pregunto si esto es una característica real ... Este recuadro automático de 64 puntos solo se agrega cuando el
UIScrollViewoUITextViewcomo la mayor profundidad de todas las subvistas de la vista del controlador de vista. Por ejemplo, si agrega una vista detrás (aquí estoy hablando de z-buffer, no de imbricación de vistas) la vista de desplazamiento, esta inserción de 64 puntos no se agrega automáticamente.Por ejemplo, este agrega el recuadro:
En este caso, no se agrega el recuadro:
Esto realmente me parece extraño ... ¿Por qué el sistema operativo miraría la profundidad de la vista para decidir si debería extender la vista?
fuente
En Swift (Xcode 6)
fuente
viewDidLoadView Controller con la vista de texto.automaticallyAdjustsScrollViewInsetses obsoleto. Desde iOS11, usecontentInsetAdjustmentBehaviorPuede eliminar el espacio en blanco en la parte superior
UITextViewagregando:fuente
Resolví este problema estableciendo el desplazamiento de contenido en un valor negativo. Aquí está el código Swift.
fuente
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];Lo que debes entender es que esto se relaciona con la barra de navegación:
fuente
Probé el siguiente truco, funcionó.
fuente
Solución para Swift 4:
fuente
Esta es una solución poco profesional, estoy seguro ... Pero simplemente poner una etiqueta en blanco detrás de la vista de texto resuelve el problema.
fuente
Esto simplemente funcionó para mí (disponible desde iOS 7)
fuente