转载自 http://www.yusian.com/thread-9440-1-1.html
1、MAC OS中以及iOS7.0以前可以使用如下方法设置
[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"];
2、自定义一个TextField
(1)实现如下两个方法
//控制placeHolder 的位置,左右缩 8px
- (CGRect)textRectForBounds:(CGRect)bounds
{
return CGRectInset(bounds , 8 , 0 );
}
// 控制文本的位置,左右缩 8px
- (CGRect)editingRectForBounds:(CGRect)bounds
{
return CGRectInset(bounds , 8 , 0 );
}
注:这样设置,会有bug,高度也变短了。
(2)利用UITextField的属性leftView,创建一个宽为5,高为20的View设置为UITextField的leftView,这样视觉上就会有5像素的左边距
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
textField.leftView = paddingView;
textField.leftViewMode = UITextFieldViewModeAlways;
转载于:https://blog.51cto.com/5934497/1720053