10 个回答

这个可以使用UI控件来拼装的图片描述

效果图片描述

左边的小图标一定要使用镂空图,不然不会透过去。
右边是TextField,用 TextField.placeholder = @"用户名";
设置TextField无边框: TextField.backgroundColor = [UIColor clearColor];
下面的那条线可以建一个UIView: View的高度为0.5,就和一条线一样了。
能看懂吧哈~

可以用category,可以...这里说一种继承,步骤如下:
1)继承UITextfield
2)重写子类中的- (void)drawRect:(CGRect)rect 如下

  • (void)drawRect:(CGRect)rect
    {

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor blackColor].CGColor);
    CGContextFillRect(context, CGRectMake(0, CGRectGetHeight(self.frame) - 0.5, CGRectGetWidth(self.frame), 0.5));

    }

3)TestCode 如下:

import "CustomField.h"

@implementation ViewController

  • (void)viewDidLoad
    {

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    CustomField *textField = [CustomField new];
    textField.frame = CGRectMake(0, 200, 100, 30);
    textField.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:textField];

    }

这个有很多做法,提一个上面没有提到的。左边的可以图片可以通过设置UITextField的leftView这个属性,右边就是设置placeholder实现。

都是大神啊,改几个属性就行了。

可以用不带边框的样式加一个imageView。如果用的多可以自己写一个继承UITextField的类来实现

最简单就是做个背景图片,然后输入框设置背景透明放上去

也有可能是webview,HTML CSS实现的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题