我已经检查了UITextField
的属性,并尝试为其设计,如下所示。但我没有成功。
我想再添加一个UIView
来获得它周围的黑色暗色。但我不知道UITextField
中是否存在任何属性。
如何获得与上述相同的设计我需要做什么。
更新:这是我的代码
self.txtUserName = [[UITextField alloc]initWithFrame:CGRectMake(Padding, height/3.5, width - (Padding*2), TextFieldHeight)];
self.txtUserName.backgroundColor = [UIColor whiteColor];
self.txtUserName.textColor = [UIColor whiteColor];
self.txtUserName.borderStyle = UITextBorderStyleRoundedRect;
[self.txtUserName.layer setBorderColor: [[[UIColor grayColor] colorWithAlphaComponent:0.5] CGColor]];
[self.txtUserName.layer setBorderWidth: 5.0];
[self.txtUserName.layer setCornerRadius:5];
感谢您的时间。
编辑:我有图形资源,我想以编程方式使用它们。答案 0 :(得分:2)
界面生成器:
步骤01 - 添加容器视图:添加两个视图(并设置合适的约束)并将它们连接到ViewController -as IBOutlets-:
步骤02 - 添加背景渐变imageViews :添加" ImageView"在每个容器中(或"视图"如果你想以编程方式而不是图像创建渐变,我建议你这样做),然后设置为它们设置渐变图像,不要忘记设置适合他们的限制;最后,将它们连接到ViewController -as IBOutlets-:
步骤03 - 添加文本字段:添加" TextField"在每个" ImageView"之上,它们应该与背景ImageViews的大小相同。确保将TextFields边框样式从属性检查器更改为无边框:
为它们设置合适的约束,最后,将它们连接到ViewController - 作为IBOutlets - :
<强>编码:强> 现在,您需要在&#34; ViewDidLoad&#34;:
中添加这些行override func viewDidLoad() {
super.viewDidLoad()
// adding corner radius to the container views:
viewUsernameContainer.layer.cornerRadius = 5
viewPasswordContainer.layer.cornerRadius = 5
// adding corner radius to the background imageviews:
imgUsernameBackground.clipsToBounds = true
imgUsernameBackground.layer.cornerRadius = 5
imgPasswordBackground.clipsToBounds = true
imgPasswordBackground.layer.cornerRadius = 5
}
运行应用程序,它应该如下所示:
&#34;验证&#34;边界?您可以为选中的文本字段添加这些代码行(为背景ImageView添加边框):
// adding border to the username background ImageView
imgUsernameBackground.layer.borderWidth = 2
// whatever color you want...
imgUsernameBackground.layer.borderColor = UIColor.black.cgColor
最后,它应该是这样的:
当然,您可以使用尺寸,边框宽度和渐变样式来使其看起来更适合您的应用。
振作起来!
答案 1 :(得分:1)
您需要将UITextFields
添加为单独的UIViews
。
将UIView
背景颜色设置为:
backView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5]
然后使用以下方法设置边缘舍入:
backView.clipsToBounds = YES;
backView.layer.cornerRadius = 4.0;
对于UITextFields
,您还可以设置剪裁和转角半径。如果你还想要红线使用类似的东西:
textView.layer.borderWidth = 2.0;
textView.layer.borderColor = [UIColor redColor];
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以像我在这里一样设计UITextField
上的UImageView
我的代码:
UIImageView *imgVw = [[UIImageView alloc] initWithFrame:CGRectMake(20, 100, [UIScreen mainScreen].bounds.size.width - 40, 50)];
imgVw.backgroundColor = [UIColor colorWithWhite:0.2 alpha:0.4];
imgVw.layer.cornerRadius = 5.0;
imgVw.userInteractionEnabled = YES;
[self.view addSubview:imgVw];
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
UITextField *txtFld = [[UITextField alloc] initWithFrame:CGRectMake(5, 5, CGRectGetWidth(imgVw.frame) - 10, CGRectGetHeight(imgVw.frame) - 10)];
txtFld.leftView = leftView;
txtFld.leftViewMode = UITextFieldViewModeAlways;
txtFld.delegate = self;
txtFld.layer.borderColor = [UIColor redColor].CGColor;
txtFld.layer.borderWidth = 2.0;
txtFld.layer.cornerRadius = 5.0;
[imgVw addSubview:txtFld];
输出:
我已经给出了一些虚拟颜色代码,你可以相应地进行设计。 希望它有所帮助
快乐的编码......