IOS學習之 UITextField設置內邊距

轉載自 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;
相關文章
相關標籤/搜索