2013-09-28 19 views
29

Mam UITextView i treści określonej wstawka jakJak ustawić zawartość wstawka dla UITextView w iOS

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

Ten kod pracy w iOS 6.1 i poniżej, ale nic się nie dzieje w iOS 7.0.

+1

Czy można to zrobić ** NA TABLICZE **?! – Fattie

+0

czy próbowałeś zaktualizowanej odpowiedzi? –

+0

Tak, sprawdź moje rozwiązanie poniżej Joe Blow –

Odpowiedz

115

dostał odpowiedź:

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

ustalone mój problem.

A Swift ...

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

UPDATE: inna opcja to zrobić.

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

hej @ murugha23, Potrzebuję twojej pomocy, jak rozwiązać problem z tekstem setContentInset w IOS7 – Anand

+4

zamiast "setContentInset" zastąp "setTextContainerInset". Jeśli chcesz podać poprzednie wersje ios, sprawdź warunek, aktualną wersję systemu urządzeń –

+1

tak, zrobiłem to, ale to nie zadziałało dla mnie – Anand

1

Alternatywnym i może trochę bardziej wygodny sposób, aby to zrobić, przez instacji UITextField i dodać @IBInspectable własność wstawka.

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

To jest dobra odpowiedź dla 'UITextField', ale pytanie dotyczy' UITextView' – dulgan