2010-12-02 12 views
21

Attualmente sto sviluppando una semplice app di modifica del testo per iPad. Voglio impostare i margini sinistro/destro come l'immagine allegata. L'aggiunta di UITextView in un'altra UIView con una larghezza maggiore non funzionerà perché un indicatore di scorrimento non sarà posizionato correttamente.Come impostare un margine in UITextView?

Invece di UIView, ho aggiunto UITextView in UIScrollView e funziona quasi bene. Ma a volte mostrano comportamenti strani e UITextViewDelegate non funziona con il mio UIViewController.

C'è un modo per impostare i margini sinistro/destro solo utilizzando UITextView? Grazie.

alt text

risposta

6

UITextView è una sottoclasse di UIScrollView. Non ho provato, ma si potrebbe provare qualcosa di simile:

myTextView.contentInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f); 

UIEdgeInsetsMake() è la seguente:

UIEdgeInsets UIEdgeInsetsMake (
    CGFloat top, 
    CGFloat left, 
    CGFloat bottom, 
    CGFloat right 
); 

così si dovrebbe essere in grado di inserto vostro contenuto textView.

Spero che questo aiuti, fammi sapere se funziona !! :)

+1

funziona come previsto –

+7

Questo non funziona per me. Certo, i margini vengono aggiunti, ma vengono aggiunti al di fuori dei limiti di UITextView. Il risultato è un display di testo che inizia a filo con il bordo, ma è possibile farlo scorrere fino al margine. Cosa mi manca? –

4

Volevo fare la stessa cosa, ma textview.contentInset non ha funzionato.

Ho messo UITextView con una larghezza ridotta su UIView, quindi spostato l'indicatore scrollview di textview sul lato destro, così ho ottenuto quello che volevo davvero bene.

textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake (0.0f, 0.0f, 0.0f, -20.0f);

Questa risposta può essere d'aiuto. Is there a way to put UITextView's scroll indicator to outside UITextView?

1

È possibile impostare il valore di destra del riquadro di scorrimento di UITextView su valore negativo e disabilitare l'opzione di sottoschermo della clip per ottenere le proprie esigenze. Non è necessaria altra vista a scorrimento. Select textview on storyboard first

Nel codice sarebbe

textView.clipsToBounds = NO; 
textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, -50.0f); 
8

È possibile utilizzare la proprietà textContainerInset

Seguendo l'esempio di George Green:

myTextView.textContainerInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f); 
+1

Funziona solo per il targeting delle app> = iOS 7.0 – Hemang

+0

Sì, solo> = iOS 7.0 – NES8

Problemi correlati