ios开发之--通过通知监听textfield的输入状态,判断按钮的状态

第一步:

_rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    _rightBtn.frame = CGRectMake(kWidth - 50-5, 7, kWidth - _tf.frame.size.width-10, 45);
    [_rightBtn setBackgroundImage:[UIImage imageNamed:@"send_un"] forState:UIControlStateNormal];
    [_rightBtn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    [_inputView addSubview:_rightBtn];

第二步:

    //监听textfield的输入状态
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(textFieldDidChangeValue:)
                                                 name:UITextFieldTextDidChangeNotification
                                               object:_tf];

第三步:

//这里可以通过发送object消息获取注册时指定的UITextField对象
- (void)textFieldDidChangeValue:(NSNotification *)notification
{
    UITextField *sender = (UITextField *)[notification object];
    if(sender.text.length != 0)
    {
        [_rightBtn setBackgroundImage:[UIImage imageNamed:@"send"] forState:UIControlStateNormal];
    }else
    {
        [_rightBtn setBackgroundImage:[UIImage imageNamed:@"send_un"] forState:UIControlStateNormal];
    }
}

和简单,仅做记录!

时间: 2024-10-25 17:26:36

ios开发之--通过通知监听textfield的输入状态,判断按钮的状态的相关文章

iOS开发之--为UITextField监听数值变化的三种方法

项目中有个验证码输入直接验证跳转页面,用的RAC来监听textfield的输入值,如下: @weakify(self); [self.codeView.textField.rac_textSignal subscribeNext:^(NSString *value) { @strongify(self); self.value = value; //也可以直接在这里写想要执行的操作 }]; //当self.value的值变化时调用Block,这是用KVO的机制,RAC封装了KVO [RACObs

ios开发之--键盘的监听

监听键盘的弹出,让整个页面向上移动,比较简单,仅做记录使用: 代码如下: // 监听键盘 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShowAction:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self se

iOS 实时监听textField的值的改变

考虑到代理方法 : textFieldDidEndEditing不能监听到textFiled实时的改变,想要实现实时监听 建议注册通知去监听textField的实时改变,直接上代码: [[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(infoAction)name:UITextFieldTextDidChangeNotificationobject:nil]; - (void)infoAction { N

Android开发之使用广播监听网络状态变化

我们经常需要判断网络状态的变化,如有无网络,所以需要监听网络状态的变化,比如网络断开,网络连接给予友好提示.如何监听网络状态的变化呢,最近工作中需要用到这个,于是就用广播机制来实现了网络状态的监听. 使用广播机制来监听网络状态主要涉及到以下几点: 1.需要自己编写个网络广播接收器,该接收器继承BroadcastReceiver类,用来接收系统发出的广播.比如我自己写了个NetStatusReceiver广播接收器.代码如下: package com.log.system; import andr

设置UITableView背景透明/监听cell左边的删除按钮的点击事件

_tableView = [[UITableView alloc] init]; _tableView.delegate = self; _tableView.dataSource = self; _tableView.frame = CGRectMake(kZero, 66, kScreenW, kScreenH - 66 - 70); //设置列表为透明背景 UIImage *image = [MusicManager createImageWithColor:[UIColor clearC

ios 监听TextField中内容变化

本篇文章只为帮助跟多的人.适合初学者. 在这里我介绍3种监听UITextField的方法.并在最后写了一个小的demo 提供参考. -------请不要纠结小编的命名方式规不规范,一切只为共同学习,共同进步. @property (weak, nonatomic) IBOutlet UITextField *UserID; @property (weak, nonatomic) IBOutlet UITextField *Password; @property (weak, nonatomic)

【iOS】通知监听

下例为:监听文本框  accountField  内容的改变, 当发生改变时, 调用textChange方法(多次).监听结束需要移除通知. - (void)viewDidLoad { [super viewDidLoad]; // 1.监听通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotificatio

关于 Android ios cocos2d 中的广播监听

1. 关于广播监听 第一次使用是在Android中,broadcast.主要用在2个activity之间进行传递数据,发出一个广播,对这个广播有兴趣的就去监听它,做出相应的回应即可.主要是传递数据,触发机制比较好,跟全局变量或者单例有点像,但是使用场合有区别,比如2个activity之间传递数据,activity这种有生命周期的弄成全局变量和单例就不合适了. 2.Android的广播 发送广播: Intent intent = new Intent("OUR_BLE_CENTRAL_MANAGE

ReactNative实现通知监听事件

要在ReactNative项目中实现通知事件监听,主要在Native中实现一个转发机制. 如图,在ios程序中注册一个方法,让react来调用. 这个注册的方法就是一个桥梁,通知发送这个消息,在react中可以注册一个监听者,监听接收这个方法. 如图, react调用注册方法,相当于发送消息. 最后,在需要监听事件的地方,增加事件监听者. 记住,视图移除后,要注销监听事件. 当然,如果不想分别在ios和android中写注册方法,也可以使用下面介绍的setNativeProps的方法. 首先,在