如何使UITextField文本输入在5-6个空格字符后启动

时间:2015-04-23 08:58:48

标签: ios objective-c uitextfield text-alignment

使用两个TextFields或在后台使用标签/视图。将TextField放在某些视图/标签/ TextField上是不正确的开发。并且在左侧放置标签或视图也不是正确的方法

enter image description here

我没想到以下方式是正确的方式。所以我想要一个更好的解决方案

UILabel * leftView = [[UILabel alloc] initWithFrame:CGRectMake(10,0,7,26)];
leftView.backgroundColor = [UIColor clearColor];

textField.leftView = leftView;

textField.leftViewMode = UITextFieldViewModeAlways;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

我们如何使用以下来实现它

// placeholder position
- (CGRect)textRectForBounds:(CGRect)bounds {
     return CGRectInset( bounds , 10 , 10 );
}

// text position
- (CGRect)editingRectForBounds:(CGRect)bounds {
     return CGRectInset( bounds , 10 , 10 );
}

我能够实现使用。但是有没有更好的方法呢

Txt_SecurityAns.layer.sublayerTransform = CATransform3DMakeTranslation(5, 0, 0);
Txt_Email.layer.sublayerTransform = CATransform3DMakeTranslation(5, 0, 0);

1 个答案:

答案 0 :(得分:1)

在UITextField中设置paddingView ...

UIView * leftView = [[UIView alloc] initWithFrame:CGRectMake(0,0,7,26)];
textField.leftView = leftView;
textField.leftViewMode = UITextFieldViewModeAlways;