【通讯录案例-登录按钮逻辑 Objective-C语言】

一、好,然后呢,这个通讯录的登录按钮逻辑

通知

1.我们接着来说啊,接下来呢,来做这个“登录”按钮,想办法让它亮起来,

然后呢,也就是说,我现在示例程序这一块儿,

通知

登录按钮,什么时候,可以亮起来,

通知

当我们这里,这两个文本框,都有值的时候,

通知

登录按钮,才会去,亮起来,

只要我现在删一个,

通知

那么这个登录按钮,都会去变成灰色的,

也就是说,我们现在呢,实际上,是要去实时的去监听文本框,的这个输入,

文本框上边儿的一个文字,

2.然后呢,这个里边,

首先啊,这样来分析,

通知

1)现在是,想让谁亮起来,

想让“登录”按钮,亮起来,

2)然后呢,我让登录按钮呢,亮起来的条件是什么,

是上边儿的这两个文本框,有值,

3)所以呢,我要写代码儿的话,这三个控件儿,一定是要拖过去的,没错吧,

2.所以呢,我们现在,一步一步来做啊,

首先呢,我们这个控制器,还没有类呢,

我们首先呢,先创建一个类,

然后,把这三个控件儿,先拖过去,

这是第一步啊,

然后呢,接下来呢,我们新建一个类,

通知

右键点击左边这个项目文件夹,选择New File,

通知

然后,继承自UIViewController,

通知

继承自UIViewController,

通知

叫做,LoginViewController,

通知

点击Next,

通知

点击Create,

通知

然后呢,这个Controller,有了,有了以后呢,把这个类名儿,复制过去,

通知

打开Main.storyboard,选中这个Controller,找到右边的Class属性,

通知

把这个类名儿,复制过来,

command + V、粘贴,

通知

好,这个类有了,有了以后呢,

把这三个控件儿,拖过来,

1)把这个文本框,“请输入用户名”,这个文本框,按住Ctrl键,拖过来

通知

Name:给它来个,usernameField,

通知

2)然后,我们还有一个文本框,叫做passwordField,

通知

Name:passwordField,

通知

反着来连,也可以,

把这个@property(nonatomic,strong)IBOutlet UITextField *passwordField;

把这句话左边的小圆圈儿,拖线拖到第二个文本框上面,

这样就连上了,

3)然后,还有一个登录按钮,

把这个登录按钮拖过来,

Name:loginButton,

通知

这三个控件儿,应该就有了,

二、有了以后呢,我们现在想办法去监听,监听这两个文本框

通知

1.监听这两个文本框,上边儿的文字,

然后呢,去切换这个loginButton的Enabled,状态,

那么,怎么样去监听文本框上边儿的文字呢,

代理

按住command 键,点击这个UITextField,

通知

进入到这个UITextField类里边,

这个里边儿呢,有一个代理,

通知

那我们就先通过代理来做,

先来试一下啊,

2.我们现在,先给一个文本框儿,来设置代理,

self.usernameField.delegate = self;

通知

1)我先给上面这个文本框设置代理,设置它的delegate,等于self,

2)好,然后呢,接下来啊,在这一块儿呢,遵守一个叫做UITextFieldDelegate的协议,

通知

3)然后呢,接下来,我们来点进来这个协议UITextFieldDelegate,看一下,

通知

我们来看一下啊,这个里边儿呢,我们来说前边儿,

通知

这些啊,比较常用,

通知

然后呢,我们把这个didReceiveMemoryWarning方法删掉,

通知

把下面这个prepareForSegue方法也删掉,

通知

把这几个代理方法,复制过来,

通知

给它们加个注释,一个一个来说,

通知

首先呢,我们来说第一个方法,

1)textFieldShouldBeginEditing:

复制到上面来,打开注释,

通知

去掉最后面的分号,加上大括号,

通知

首先呢,它是返回一个BOOL类型的值,

我们先来看一下它的这个名字啊,

textFieldShouldBeginEdting:

textField:文本框

通知

Should:应该,

Begin:开始,

Editing:编辑了,

这个名字看起来,好像跟我们监听它的值,没太大关系,

好像是哈,那这个里边儿,就不要按照它的名字来做啊,

首先,它要一个BOOL类型的值,我直接return一个BOOL类型的值,

猜你喜欢

转载自blog.csdn.net/madoca/article/details/135203761
今日推荐