Pergunta

Eu quero exibir um texto com muitas linhas. Eu adicionei um rótulo multilina a uma visualização de rolagem, mas ela não mostrou nada. Parece que essa não é a maneira correta de usar a visualização de rolagem. Como usar a exibição de rolagem para que os usuários possam arrastar para baixo para ver mais texto?

Foi útil?

Solução

Você pode apenas usar um UITEXTVIEW. É um filho do UIScrollView e, se você definir sua propriedade de texto para uma quantidade de texto que não se encaixa no quadro, a visualização será rolável.

Outras dicas

Apple's Documentação do UISCOLLVIEW é muito bom, você deve começar por aí e entender a aula.

Pense em um ScrollView como uma grande superfície de vista sobre a qual a tela desliza*. Você pode adicionar subviews ao scrollView e, em seguida, rolar é como posicionar a tela sobre o scrollView - a tela age como uma janela que você pode ver até parte do conteúdo da exibição de rolagem abaixo.

Para fazer isso, um ScrollView possui algumas propriedades extras sobre uma UIView normal - mas é como uma UIView em um respeito impulsivo: não renderiza nenhum conteúdo diretamente. Você precisa adicionar uma subview para desenhar seu texto. Um scrollView é configurado e exibido exatamente da mesma maneira que uma UIView - ou seja, você define o quadro, adicione -o a outra visualização e para mostrar seu texto necessário para adicionar subviews ao UIScrollView que pode renderizar o texto.

Para configurar um UIScrollView básico que você solicita, basta criá -lo como uma exibição normal de tela cheia - defina o quadro como o mesmo tamanho da janela e adicione o scrollView à janela como uma subview. Em seguida, faça um grande uitextview para segurar seu texto. A visualização UITEXT pode ser tão grande quanto você quiser - especificamente, pode ser maior que a tela. Defina a propriedade ContentSize do UIScrollView como o mesmo que o quadro do UITextView e adicione a visualização do UITEXT como uma subjacente do UIScrollView.

Depois de funcionar, você pode mover o conteúdo automaticamente com a propriedade ContentOffset, controlar o zoom e configurar um delegado para observar eventos de rolagem.

* Com mais precisão, sobre o qual o quadro desliza, mas estou assumindo que você está fazendo um UIScrollView em tela cheia. Tenho certeza de que você pode generalizá -lo se quiser uma visão menor.

Usei o UIScrollView dessa maneira para um painel de instruções em um dos meus aplicativos. Funcionou, mas eu estava descontente com o resultado. Em seguida, mudei para usar um UIWebView e fiquei muito mais feliz com o resultado. Ele lida com o dimensionamento da visualização de rolagem automaticamente, eu recebo todos os recursos de formatação do HTML e posso ter links que vão para informações adicionais (ou sites externos) sem mais do que adicionar outro arquivo HTML e talvez algum código delegado. Aqui está o código que usei (e adicionei o arquivo HTML ao meu aplicativo como recurso):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.instructionsView loadHTMLString:htmlString baseURL:nil];

Você pode se referir a este site http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollView-example-in-iphone/

Você segue o passo a passo para fazer a visualização de rolagem no iPhone ... boa sorte :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top