代码非IB点击背景关闭键盘

本文介绍了一种纯代码方式实现 UITextField 的方法,通过设置代理 (delegate) 来控制文本框失去焦点的行为。具体实现中,当触摸屏幕其它位置时,文本框会自动取消选中状态。

以前都是用IB连,今儿有个新同事问我纯代码怎么弄,想了想应该是delegate里的方法,具体还真没写过。但是他希望有demo,网上搜了一下基本全是IB的,所以写了一个,非常简单,就当作开博第一个文章吧,毕竟不管任何事情,能简单还是简单一点的好。

 

- (void)viewDidLoad

{

    [super viewDidLoad];

    UIView *v = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

    [self.view addSubview:v];

    v.backgroundColor = [UIColor redColor];

    

    text = [[UITextField alloc]initWithFrame:CGRectMake(10, 10, 200, 100)];

    text.backgroundColor = [UIColor whiteColor];

    

    [v addSubview:text];

    [text release];

    

    [text setDelegate:self];

 

    

}

#pragma mark - UITextFieldDelegate

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

    [text resignFirstResponder];

}

 

道理很简单,就是枪毙掉第一响应者。

转载于:https://www.cnblogs.com/BeijingLeo/archive/2012/03/21/2409648.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值