2016-1-5第一个完整APP 私人通讯录的实现 2:增加提示用户的提示框,监听文本框

一:在登录时弹出提示用户的提示框:

1.使用第三方框架。

2.在登陆按钮点击事件中增加如下代码:

- (IBAction)loginBtnClicked {
    NSString *acount = self.acountField.text;
    NSString *password = self.passwordField.text;
//    跳出正在登陆的提示框
    [MBProgressHUD showMessage:@"正在登陆"];
//    模拟加载中 QAQ 感觉好喜感啊
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//        隐藏正在登陆的提示框
        [MBProgressHUD hideHUD];
//        判断用户账目密码是否输入正确,跳出提示并跳转界面
        if ([acount isEqualToString:@"zhangsan"]&&[password isEqualToString:@"123"]) {
            [self performSegueWithIdentifier:@"ContactsViewController" sender:nil];
            [MBProgressHUD showSuccess:@"登陆成功"];
        }else{
            [MBProgressHUD showError:@"账号密码错误"];
        }
    }
    );
}

3.在- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法中给目标控制器专递参数

代码如下

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
#warning 先获得Segue的目标控制器,但是设置的是新的一个contactVc,为什么Segue目标控制器的属性也会改变?
    id destcontroller = segue.destinationViewController;
    if ([destcontroller isKindOfClass:[contactTableViewController class]]) {
        contactTableViewController *contactVc = destcontroller;
        contactVc.name = self.acountField.text;
    }
}

这段代码有个不明白的地方,自己打了#waring,暂时想不通,以后来解决吧~

4.实际效果如下:

二:监听文本登陆框

1.使用通知中心,代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.loginBtn.enabled = NO;
//    通知中心监听文本改变的情况,
//    建立通知中心,设置观察者订阅通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.acountField];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.passwordField];

}
//实现接受到文本改变的通知后 controller要做的事情
- (void)textChange
{
//    只有在账户和密码在文本登陆框中都有长度时,登陆按钮才可用
    self.loginBtn.enabled = (self.acountField.text.length >= 5 && self.passwordField.text.length >= 3);
}

实际效果:

2.也可以直接给textField添加事件,代码如下:

    [self.acountField addTarget:self action:@selector(textChange) forControlEvents:UIControlEventEditingChanged ];
    [self.passwordField addTarget:self action:@selector(textChange) forControlEvents:UIControlEventEditingChanged ];

也可以直接在mainstroyboard中连线:

时间: 2024-11-25 10:39:44

2016-1-5第一个完整APP 私人通讯录的实现 2:增加提示用户的提示框,监听文本框的相关文章

2016-1-5第一个完整APP 私人通讯录的实现 4:编辑联系人

一:建立编辑联系人的controller,并使其拥有模型contact,且有协议.代码如下 #import <UIKit/UIKit.h> #import "contact.h" @class EditContactViewController ; @protocol EditContactViewControllerDelegate<NSObject> - (void) editContactViewController:(EditContactViewCon

2016-1-5第一个完整APP 私人通讯录的实现 3:添加联系人

一:创建模型对象:contact用于存放数据,也便于读取加载 #import <Foundation/Foundation.h> @interface contact : NSObject @property (strong, nonatomic) NSString *name; @property (strong, nonatomic) NSString *tel; @end 二:在addContackViewController中设置代理协议,并监听输入栏 #import <UIKi

2016-1-7第一个完整APP 私人通讯录的实现 5:保存数据

一:登陆界面 1):用户点击登陆按钮并成功登陆后,根据此时的开关情况选择是否保存数据,代码如下: if ([acount isEqualToString:@"zhangsan"]&&[password isEqualToString:@"123"]) { [self performSegueWithIdentifier:@"ContactsViewController" sender:nil]; [MBProgressHUD sh

iOS开发 - 第02篇 - UI进阶 - 08 - 私人通讯录

实现:私人通讯录 源代码下载地址: 点击打开链接 1.实现要求 1> 多个控制器之间的跳转 2> 控制器之间的数据传递 3> 数据存储 2.登录界面到联系人列表界面实现思路 2.1 登录界面搭建 1> 在Storyboard中添加导航控制器,设置根控制器,并设置导航条的title 2> 搭建登录界面 注1:设置UITextField占位符和清楚文字按钮 注2:设置密码UITextField的暗文 注3:记住密码UILabel和开关以及自动登录UILabel和开关分别放在一个U

UI进阶--UINavigationController和NSKeyedArchiver实现一个简易私人通讯录

需求:实现一个简易私人通讯录,主要实现以下功能: 1.一个登录页面,一个显示联系人页面,一个添加联系人页面,一个编辑联系人页面: 2.登录页面: 2.1.当账号和密码输入框都有值的时候,登录按钮才能交互: 2.2.当取消勾选记住密码后,自动登录按钮也随之取消: 2.3.当勾选了自动登录按钮时,记住密码按钮也一同勾选: 2.4.点击登陆后,程序能够简单判断账号和密码是否正确,如果不正确则给出相应的提示,如果正确则跳转到联系人页面: 3.联系人页面: 3.1.可以添加联系人: 3.2.可以对当前联系

私人通讯录

一.私人通讯录 什么是Segue ● Storyboard上每?一根?用来界?面跳转的线,都是?一个UIStoryboardSegue对象(简称Segue) "[登录界面]" 1.掌握UIStoryboardSegue对象 (1)在storyboard中,可以通过连线完成多个界面间的跳转,每一连线我们称为segue (2)掌握storyboard中的segue连线有两种,一是自动跳转.二是手动跳转 自动跳转从按钮连线,不管账号和密码是不是正确,就直接跳到下一个界面,而手动跳转,是用控制

iOS开发UI篇—实现一个私人通讯录小应用(一) - 文顶顶

原文  http://www.cnblogs.com/wendingding/p/3773603.html iOS开发UI篇—实现一个私人通讯录小应用(一) 一.该部分主要完成内容 1.界面搭建                        2.功能说明 (1).只有当账号和密码输入框都有值的时候,登录按钮才能交互 (2).当取消勾选记住密码后,自动登录按钮也随之取消:当勾选了自动登录按钮时,记住密码按钮也一同勾选. (3).点击登陆后,弹出蒙版,界面不可交互,程序能够简单判断账号和密码是否正确

多控制器管理练习 -- 私人通讯录

Main.storyboard 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5053" system

监听APP升级广播处理

当旧版本的用户升级新版本的时候需要重新设定一些值处理,这时候需要监听升级版本的广播 <receiver android:name=".OnUpgradeReceiver"> <intent-filter> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <data android:scheme="package" />