Camsoft Camsoft - 1 month ago 7
iOS Question

Adding left margin to UITextView

I'm trying to add a left margin to a UITextView.

I've tried setting the property contentInset, see below:

UITextView *textView = [[UITextView alloc] initWithFrame: CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
textView.editable = YES;
textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
textView.backgroundColor = [UIColor clearColor];
textView.opaque = NO;
textView.contentInset = UIEdgeInsetsMake(0, 15.0f, 0, 0);


This seems to work though it causes horizontal scrolling on the TextView which I don't want.

I just want the text inset on the left without making the textview any wider.

Answer

If you only want to move the text, try

[textView setContentInset:UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)];

Where a positive number moves the "text frame" towards the middle, a negative moves it out from the middle.

For example, [textView setContentInset:UIEdgeInsetsMake(0, 20, 0,-20)], will move the text 20 pixels to the right!

Comments