Eu tenho UITextView com algum texto nele. Tudo estava bem com o iOS 6, mas agora com o iOS 7 ele deixa um espaço em branco no topo e, em seguida, coloca o texto abaixo do meio do textview.
Eu não configurei nenhum contentOffSet. Por favor ajude!
Eu tenho UITextView com algum texto nele. Tudo estava bem com o iOS 6, mas agora com o iOS 7 ele deixa um espaço em branco no topo e, em seguida, coloca o texto abaixo do meio do textview.
Eu não configurei nenhum contentOffSet. Por favor ajude!
Respostas:
Uma visualização de texto é uma visualização de rolagem. Os controladores de visualização adicionarão um deslocamento de conteúdo automaticamente para as visualizações de rolagem, pois presume-se que eles desejem rolar para cima atrás da barra de navegação e da barra de status.
Para evitar isso, defina a seguinte propriedade no controlador de visualização que contém a visualização de texto:
self.automaticallyAdjustsScrollViewInsets = NO
A resposta atual que o IronManGill deu não é uma boa solução, porque não é baseada em um entendimento de porque o problema ocorre em primeiro lugar.
A resposta de Jrturton também não é a maneira mais limpa de resolvê-lo. Você não precisa substituir. Mantenha simples!
Tudo que você precisa é definir o seguinte:
self.automaticallyAdjustsScrollViewInsets = NO;
no método viewDidLoad.
Confira os documentos: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
automaticallyAdjustsScrollViewInsets
está obsoleto. No iOS11, usecontentInsetAdjustmentBehavior
No Interface Builder,
Isso funcionou para mim
textView.textContainerInset = UIEdgeInsetsZero;
textView.textContainer.lineFragmentPadding = 0;
Vá para Interface Builder
:
view controller
aquele que contém o seutext view
Adjusts Scroll View Insets
propriedadeEu realmente me pergunto se este é um recurso real ... Esta inserção automática de 64 pontos só é adicionada quando o UIScrollView
ouUITextView
como a maior profundidade de todas as subvisualizações da visão do controlador de visualização. Por exemplo, se você adicionar uma visualização atrás (aqui estou falando de z-buffer, não de imbricação de visualização) da visualização de rolagem, esta inserção de 64 pontos não é adicionada automaticamente.
Por exemplo, este adiciona a inserção:
Nesse caso, a inserção não é adicionada:
Isso realmente parece estranho para mim ... Por que o SO olharia para a profundidade da visão para decidir se deveria estender a visão?
On swift (Xcode 6)
self.automaticallyAdjustsScrollViewInsets = false
viewDidLoad
View Controller com a visualização de texto.
automaticallyAdjustsScrollViewInsets
está obsoleto. No iOS11, usecontentInsetAdjustmentBehavior
Resolvi esse problema definindo o deslocamento de conteúdo para um valor negativo. Aqui está o código Swift.
yourTextView.setContentOffset(CGPoint(x: 0, y: -150), animated: true)
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];
O que você precisa entender é que isso está relacionado à barra de navegação:
Solução para Swift 4:
textView.textContainerInset = UIEdgeInsets.zero
Esta é uma solução pouco profissional, tenho certeza ... Mas apenas colocar um rótulo em branco atrás do textview resolve o problema.