轉載自 http://www.yusian.com/thread-9440-1-1.html html
一、MAC OS中以及iOS7.0之前可使用以下方法設置ide
[self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"_paddingTop"]; [self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"_paddingLeft"]; [self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"_paddingBottom"]; [self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"_paddingRight"];
二、自定義一個TextFieldspa
(1)實現以下兩個方法orm
//控制placeHolder 的位置,左右縮 8px - (CGRect)textRectForBounds:(CGRect)bounds { return CGRectInset(bounds , 8 , 0 ); } // 控制文本的位置,左右縮 8px - (CGRect)editingRectForBounds:(CGRect)bounds { return CGRectInset(bounds , 8 , 0 ); }
注:這樣設置,會有bug,高度也變短了。htm
(2)利用UITextField的屬性leftView,建立一個寬爲5,高爲20的View設置爲UITextField的leftView,這樣視覺上就會有5像素的左邊距get
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)]; textField.leftView = paddingView; textField.leftViewMode = UITextFieldViewModeAlways;