2013-09-28 11 views
29

Sto avendo un UITextView e impostare inserto contenuto comeCome impostare inserto contenuti per UITextView in ios

[atextView setContentInset:UIEdgeInsetsMake(0, 10, 0, 0)];

Questo codice funzionante in iOS 6.1 e al di sotto, ma non succede nulla in iOS 7.0.

+1

C'è un modo per farlo ** IN STORYBOARD **?! – Fattie

+0

hai provato la risposta aggiornata? –

+0

Sì, controllare la mia soluzione sotto Joe Blow –

risposta

115

ottenuto risposta:

[atextView setTextContainerInset:UIEdgeInsetsMake(7, 7, 0, 0)]; 

fisso il mio problema.

E in Swift ...

@IBOutlet var tv:UITextView! 
override func awakeFromNib() 
    { 
    super.awakeFromNib() 
    tv.textContainerInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0); 
    } 

UPDATE: un'altra opzione per farlo.

UIView *spacerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)]; 
[msgtext setLeftViewMode:UITextFieldViewModeAlways]; 
[msgtext setLeftView:spacerView]; 
+0

hey @ murugha23, ho bisogno del tuo aiuto su come hai risolto il problema setViewTypeInset di textview in IOS7 – Anand

+4

sostituisci 'setTextContainerInset' invece di' setContentInset'. Se si desidera fornire versioni precedenti di ios, quindi controllare una condizione reg, la versione corrente del sistema dispositivo –

+1

sì caro l'ho fatto ma non ha funzionato per me – Anand

1

Un'alternativa e forse un po 'più conveniente per farlo, dal sottoclasse l'UITextField e aggiungere una proprietà inserto @IBInspectable.

import UIKit 

class UITextfieldWithInset: UITextField { 

    @IBInspectable 
    var textfieldInset: CGPoint = CGPointMake(0, 0) 

    override func textRectForBounds(bounds: CGRect) -> CGRect { 
     return CGRectInset(bounds, textfieldInset.x, textfieldInset.y) 
    } 

    override func editingRectForBounds(bounds: CGRect) -> CGRect { 
     return CGRectInset(bounds, textfieldInset.x, textfieldInset.y) 
    } 

    override func placeholderRectForBounds(bounds: CGRect) -> CGRect { 
     return CGRectInset(bounds, textfieldInset.x, textfieldInset.y) 
    } 

} 
+0

Questa è una bella risposta per 'UITextField', ma la domanda riguarda' UITextView' – dulgan

Problemi correlati