How to set content inset for UITextView in ios

Muruganandham K picture Muruganandham K · Sep 28, 2013 · Viewed 34.9k times · Source

I'm having a UITextView and set content inset as

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

This code working in iOS 6.1 and below, but nothing happens in iOS 7.0.

Answer

Muruganandham K picture Muruganandham K · Sep 28, 2013

got answer:

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

fixed my problem.

And in Swift...

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

UPDATE: another option to do that.

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