我正在尝试使用自定义文本字段背景。问题是文本看起来离左侧太近。
我没有看到任何方法可以在不子类化 UITextField 的情况下移动文本。所以我试图扩展和覆盖
- (void)drawTextInRect:(CGRect)rect{
NSLog(@"draw rect");
CGRect newRect = CGRectMake(rect.origin.x+20,rect.origin.y,rect.size.width-20,rect.size.height);
[super drawTextInRect:newRect];
}
但由于某种原因,日志永远不会打印。我知道正在使用子类,因为我在 init 中也有一个日志,并且打印得很好。
这是怎么回事
EDIT.
我也尝试
- (CGRect)textRectForBounds:(CGRect)bounds{
NSLog(@"bounds");
CGRect b = [super textRectForBounds:bounds];
b.origin.x += 20;
return b;
}
确实有痕迹,但似乎没有移动
我认为你可以使用leftView
为此的财产。
您可以添加一个leftView
and rightView
到 UITextfield。这些视图可用于显示图标,但如果它是空视图,它只会占用空间,这正是您想要的。
CGFloat leftInset = 5.0f;
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, leftInset, self.bounds.size.height)];
self.leftView = leftView;
self.leftViewMode = UITextFieldViewModeAlways;
[leftView release];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)