是否可以在iOS 6中创建只有底部边框的UITextField?

时间:2015-04-22 18:19:22

标签: ios ios6 uitextfield

我想在UITextField中自定义iOS 6,它看起来像一个只有底部边框的透明文本字段。我之前在stackoverflow中找到了一个图像,但是我不知道有10个声誉,我无法发布图片,但我发布的链接如下。

Text field with bottom border only in ios6

1 个答案:

答案 0 :(得分:0)

有多种方法可以实现这一目标:

  1. 创建一个seperatorView并将其添加到UITextfield,y轴为文本字段的高度。

    UITextfield *namefield = [[UITextfield alloc] initwithframe:CGRectMake(20,40,70,40)  ];
    UIView *seperator=[UIView new];
    seperator.backgroundColor = [UIColor grayColor];
    seperator.frame =CGRectMake(namefield.frame.origin.x, namefield frame.origin.y+namefield.frame.size.height-1, namefield.frame.size.width,1);
    [namefield addSubView:seperator];
    
  2. 使用CoreAnimation类

    CALayer *bottomBorder = [CALayer layer];   
    CGFloat borderWidth = 1;
    bottomBorder.borderColor = [UIColor grayColor].CGColor; 
    bottomBorder.frame = CGRectMake(0, textField.frame.size.height - borderWidth, textField.frame.size.width, textField.frame.size.height);   
    bottomBorder.borderWidth = borderWidth;  
    [textField.layer addSublayer:border];
    textField.layer.masksToBounds = YES;
    
  3. 通过为UITextField创建自定义类并覆盖drawRect方法。

  4. 使用图像并将其作为backgroundColor添加到UITextfield。