注册 登录
主题 : 请问这个小功能怎么实现。。。
级别: 新手上路
UID: 593387
精华: 0
发帖: 4
可可豆: 13 CB
威望: 13 点
在线时间: 2(时)
注册时间: 2016-10-10
最后登录: 2017-09-08
0 楼:  发表于: 2017-09-06 16:56    发自: Web Page
来源于 一般提问 分类

请问这个小功能怎么实现。。。   

当账号密码都输入的时候,登录按钮可点击。这个要怎么实现?

这个代理方法:- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
有Bug,实现不了。。。
项目里没用RAC。。

怎么实现呢?能给个小Demo最好了
级别: 侠客

状态: 连续签到 - [94天]
UID: 534139
精华: 0
发帖: 119
可可豆: 622 CB
威望: 446 点
在线时间: 669(时)
注册时间: 2015-12-25
最后登录: 2017-11-22
1 楼:  发表于: 2017-09-06 17:06    发自: Web Page

UITextFieldTextDidChangeNotification
级别: 侠客
状态: 连续签到 - [1天]
UID: 405796
精华: 0
发帖: 119
可可豆: 178 CB
威望: 168 点
在线时间: 175(时)
注册时间: 2014-11-24
最后登录: 2017-11-20
2 楼:  发表于: 2017-09-06 17:17    发自: Web Page
一直用这个方法,也没见过有什么bug~
我有一本Mac,足以慰风尘。
级别: 新手上路
UID: 593387
精华: 0
发帖: 4
可可豆: 13 CB
威望: 13 点
在线时间: 2(时)
注册时间: 2016-10-10
最后登录: 2017-09-08
3 楼:  发表于: 2017-09-06 17:21    发自: Web Page
回 1楼(zhaoName) 的帖子
谢谢大神!用这个实现了
级别: 新手上路
UID: 593387
精华: 0
发帖: 4
可可豆: 13 CB
威望: 13 点
在线时间: 2(时)
注册时间: 2016-10-10
最后登录: 2017-09-08
4 楼:  发表于: 2017-09-06 17:25    发自: Web Page
回 2楼(陌上红尘) 的帖子
new一个密文输入框,先在输入框里输入一些字符,然后让输入框失去焦点,接着再使输入框获取焦点,点软键盘清除按钮,清除输入框中的字符,这时候你在那个代理方法里打印 textField.length ,看看是多少?

即使这样处理也不对:NSUInteger length = textField.text.length - range.length + string.length;

级别: 侠客

状态: 连续签到 - [61天]
UID: 517041
精华: 0
发帖: 209
可可豆: 548 CB
威望: 407 点
在线时间: 1687(时)
注册时间: 2015-10-23
最后登录: 2017-11-22
5 楼:  发表于: 2017-09-06 18:15    发自: Web Page
给你安利一个东西  RAC
级别: 新手上路
UID: 491043
精华: 0
发帖: 52
可可豆: 187 CB
威望: 187 点
在线时间: 195(时)
注册时间: 2015-07-22
最后登录: 2017-09-21
6 楼:  发表于: 2017-09-06 21:29    发自: Web Page

[ATextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];  
[BTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];  



-(void)textFieldDidChange :(UITextField *)theTextField{  

  CButton.Enable = ATextField.text.lenght <= 0 ? NO:BTextField.text.length <=0 ? NO:YES;
}  
级别: 侠客
状态: 连续签到 - [3天]
UID: 489219
精华: 0
发帖: 153
可可豆: 197 CB
威望: 201 点
在线时间: 777(时)
注册时间: 2015-07-15
最后登录: 2017-11-22
7 楼:  发表于: 2017-09-07 08:54    发自: Web Page
    //登录限制设置
    self.loginButton.enabled = NO;
    [self.accountField addTarget:self action:@selector(textFieldDidChange) forControlEvents:UIControlEventEditingChanged];
    [self.passwordField addTarget:self action:@selector(textFieldDidChange) forControlEvents:UIControlEventEditingChanged];

- (void)textFieldDidChange{
    if (self.accountField.text.length > 0 && self.passwordField.text.length > 0 ) {
        self.loginButton.enabled = YES;
    }else{
        self.loginButton.enabled = NO;
    }
}
级别: 新手上路
UID: 349842
精华: 0
发帖: 31
可可豆: 40 CB
威望: 40 点
在线时间: 896(时)
注册时间: 2014-07-24
最后登录: 2017-11-22
8 楼:  发表于: 2017-09-07 09:14    发自: Web Page
7楼的稍微改下,把>0 去掉 也可以的


级别: 新手上路
UID: 621331
精华: 0
发帖: 1
可可豆: 1 CB
威望: 1 点
在线时间: 30(时)
注册时间: 2017-08-15
最后登录: 2017-11-03
9 楼:  发表于: 2017-09-07 11:33    发自: Web Page
回 5楼(q8900321) 的帖子
  是个好东西,用6了特别方便
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部