iosios7uitextviewuiedgeinsets

How to set content inset for UITextView in ios


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.


Solution

  • 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];