我想淡入UITextField的边框,所以我在UIView中使用它的图层重新创建它:
borderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, textfield.frame.size.width, textfield.frame.size.height)];
[borderView.layer setBorderWidth:1.0];
[borderView.layer setBorderColor:[UIColor grayColor].CGColor];
[borderView.layer setMasksToBounds:YES];
[borderView.layer setCornerRadius:10.0];
[borderView.layer setShadowColor:[UIColor blackColor].CGColor];
[borderView.layer setShadowOffset:CGSizeMake(0, 3)];
[borderView.layer setShadowOpacity:0.8];
borderView.alpha = 0.0;
然后我直接将它添加到UITextField:
[textField addSubview: borderView];
[textField sendSubviewToBack: borderView];
然而,尽管sendSubviewToBack:调用,文本字段在触摸时仍拒绝成为第一响应者。
当我将ImageView添加为兄弟视图而不是UIView时,这很好用。
如何让文本字段接收输入?
答案 0 :(得分:1)
borderView.userInteraction = NO;
在我的SIM卡4.3中查看。
答案 1 :(得分:0)
不要在文本字段中添加新视图,只需修改文本字段自己的图层:
#import <QuartzCore/QuartzCore.h>
textField.layer.borderWidth = 1;
textField.layer.borderColor = [UIColor grayColor].CGColor;
textField.layer.cornerRadius = 10;
// etc...