2012-12-27 13 views
7

Desidero visualizzare un paragrafo in UITextView. Sono in grado di inserire il contenuto del paragrafo nella visualizzazione Testo, ma non riesco a scorrere UITextView (Alcuni dei contenuti non sono visibili in quanto non scorre).UITextView non sta scorrendo

Quello che sto cercando di fare è:

CGRect frame = CGRectMake(0, 0, 320, 480); 
//allocate view 
self.view = [[UIView alloc]initWithFrame:frame];textview = [[UITextView alloc]initWithFrame:CGRectMake(30, 200, 275, 400)]; 
[textview setFont:[UIFont fontWithName:@"Arial" size:12]]; 
[textview setScrollEnabled:YES]; 
[textview setUserInteractionEnabled:NO]; 
[textview setBackgroundColor:[UIColor clearColor]]; 
//[textview setText:@"Hi,I'm working fine with this space"]; 
[self.view addSubview:textview]; 

In questo caso, lo scorrimento è abilitato. Qualcuno può dirmi perché non sta scorrendo?

+3

... o semplicemente rimuovere la linea su cui si imposta il 'userInteractionEnabled' a' NO'. –

+2

Se si mantiene '[vista testo setUserInteractionEnabled: NO];', come pensi che funzionerà? È necessario rimuoverlo per consentire l'interazione dell'utente. – iDev

+1

Non so perché hai aggiunto: [textview setUserInteractionEnabled: NO]; Basta farlo sì. – Bhavin

risposta

13

set [textview setUserInteractionEnabled:TRUE]; e penso che non volete la tastiera a pop-up, allora si può nascondere la tastiera implementando il metodo dei delegati di uitextview -(void)textViewDidBeginEditing:(UITextView *)textView{[textView resignFirstResponder];

+0

e imposta anche il delegato nel tuo codice textview.delegate = self; e aggiungi il delegato UITextViewDelegate nel tuo file .h. – Ahsan

+0

Ho implementato la risposta data da voi persone.Ma, niente ha funzionato per me. – bapi

+0

O non sta scorrendo o la tastiera sta ancora mostrando ..? E anche il codice che hai incollato ha [textview setUserInteractionEnabled: NO]; hai cambiato il No a Sì? – Ahsan

7

impostare YES per setUserInteractionEnabled proprietà di UITextView

insieme questa linea

[textview setUserInteractionEnabled:YES]; 

invece di

[textview setUserInteractionEnabled:NO]; 
+0

@bapirout hey dude Qui si imposta UserInterection è No quindi qui l'evento di tocco utente per questa tua visualizzazione non è rilevabile quindi questa visualizzazione non scorre quindi basta impostarla con SÌ e funzionerà altrimenti commenterà solo la riga [ textview setUserInteractionEnabled: NO]; o rimuovere questa linea .. :) –

+0

@bapirout non funziona ?? anche prima imposta il frame piccolo con questo e poi provalo, basta dare a Rect come CGRect frame = CGRectMake (0, 0, 320, 200); prova questo e post commento .. –

2

Set UserInteractionEnabled come YES.

2

Aggiungere questa riga: [textview setUserInteractionEnabled:YES]; al posto di questo:

[textview setUserInteractionEnabled:NO]; 
2

incolla questo codice

CGRect frame = CGRectMake(0, 0, 320, 480); 
//allocate view 
self.view = [[UIView alloc]initWithFrame:frame];textview = [[UITextView alloc]initWithFrame:CGRectMake(30, 200, 275, 400)]; 
[textview setFont:[UIFont fontWithName:@"Arial" size:12]]; 
[textview setScrollEnabled:YES]; 
[textview setUserInteractionEnabled:YES]; 
[textview setBackgroundColor:[UIColor clearColor]]; 
//[textview setText:@"Hi,I'm working fine with this space"]; 
[self.view addSubview:textview]; 
+0

Ho implementato la risposta data da voi persone.Ma, niente ha funzionato per me.Nota: La mia visualizzazione di testo è legata con controllo segmentato.Qualsiasi paragrafo sarà visibile a seconda del segmento selezionato. – bapi

+0

@bapirout rende la proprietà vista padre impostata su clipSubviews = YES e poi controlla e fammi sapere –

+0

@bapirout: Funziona –

0

Ho avuto lo stesso problema e avevo setcrollable e user interactionenabled to TRUE. Si è rivelato un problema con i vincoli. Per risolvere questo problema, fai clic sul controller della vista nello storyboard (l'icona della batteria in alto a destra), quindi vai su "Editor" -> "Risolvi problemi di layout automatico" -> "Aggiungi vincoli mancanti in". Risolto il problema per me!

0

bapi rout, Esiste una proprietà per l'interazione dell'utente con textView. È stato impostato su No. Se si desidera eseguire lo scorrimento su TextView, è necessario abilitare questa proprietà.

[textview setUserInteractionEnabled:YES];

Questo vi aiuterà.

1

Ho un ViewController che ha solo una visualizzazione di testo con circa 5 pagine di testo.

Ecco quello che ho fatto a Swift 4.0:

  1. Molto importante: Assicurarsi di avere il layout automatico impostato sul testo vista. Nel mio ViewController, ho impostato i miei vincoli sulla vista di testo da a 8,8,8,8 con vincolo ai margini controllati. Il tutto non fa scorrere se il layout automatico non è impostato.
  2. Questo è il codice che ho usato:

Swift 4,0

textForPrivacyPolicy.showsVerticalScrollIndicator = true 
textForPrivacyPolicy.isEditable = false 
textForPrivacyPolicy.isScrollEnabled = true 
textForPrivacyPolicy.scrollRangeToVisible(NSMakeRange(0, 0)) 
textForPrivacyPolicy.setContentOffset(CGPoint(x: 0, y: 0), animated: false) 
Problemi correlati