热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:iOS开发登录界面开发ToastSwift的使用Swfit4.1_Xcode9.3.1

篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS开发-登录界面开发Toast-Swift的使用-Swfit4.1_Xcode9.3.1相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS开发-登录界面开发Toast-Swift的使用-Swfit4.1_Xcode9.3.1相关的知识,希望对你有一定的参考价值。


先看一下效果:

1.前面我们做了登录界面的UI,实现了网络请求,如果用户输入了错误的VIP号码,应该提示用户“VIP号码不正确”

2.在android里面,我们有Toast可以直接使用,在ios里,貌似没有这样的原生控件,那么我们引入第三个开源框架:


Toast-Swift

3.我们来修改一下 Podfile:


/Users/jimi/Documents/iOS/Demo/LoginDemo/Podfile


# 设置支持最低平台
platform :ios, \'8.0\'
target \'LoginDemo\' do
# 如果是Swift项目,需添加"use_frameworks!"
use_frameworks!
# 如果要使用固定版本 可以像下面这么写
# pod \'AFNetworking\', \'~> 3.2.1\'
pod "AFNetworking"
pod "SwiftyJSON"
pod \'Toast-Swift\', \'~> 3.0.1\'
end

4.打开终端 重新引入一下第三方框架 (可以看到,引入过AFNetworking/SwiftyJSON不会重新安装,只会安装新加进来的Toast-Swift):


JiMideMacBook-Pro:~ jimi$ cd /Users/jimi/Documents/iOS/Demo/LoginDemo
JiMideMacBook-Pro:LoginDemo jimi$ pod install
Analyzing dependencies
Downloading dependencies
Using AFNetworking (3.2.1)
Using SwiftyJSON (4.1.0)
Installing Toast-Swift (3.0.1)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 3 dependencies from the Podfile and 3 total pods installed.

5.在工程里引入,并调用,我们用最简单的方式(复杂的方式,还有菊花转和图片的Toast):


import Toast_Swift

6.引入以后,照旧要按一下,command+b,重新编译一下工程。下面是完整的登录Controller:


import UIKit
import SwiftyJSON
import Toast_Swift
class ViewController: UIViewController {


@IBOutlet weak var et_vip_code: UITextField! // VIP号码
@IBOutlet weak var bt_login: UIButton! // 登录按钮
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

// 登录按钮 的 点击事件
@IBAction func bt_login_clicked(_ sender: Any) {
//创建请求参数
// let params = ["VIP_keyworld":"595466","password":"123456"] // 多个参数写法
// let params = ["VIP_keyworld":"595466"]

let vipCode = et_vip_code.text!
let params = ["xxx":vipCode] // 请求参数
let loginUrl = "http://www.xxx.com/xxx/xxxx.asp" // 请求地址

// 使用 AFNetworking 发送POST请求
NetworkTools.shareInstance.request(methodType: .POST, urlString: loginUrl, parameters: params as [String : AnyObject]) { (result : AnyObject?, error : Error?) in

if error != nil {
print(error!)
return
}
print(result!)


// 使用 SwiftyJSON 解析json -- 这里解析的是 jsonObject
// 如果要解析 jsonArray, SwiftyJSON 更加丝滑, 参考 http://www.hangge.com/blog/cache/detail_968.html
let json = JSON(result as Any)
if let vip_id = json["id"].string {
print("id是:",vip_id)
self.view.makeToast("id = " + vip_id) // Toast 提示
if vip_id == "0" {
self.view.makeToast("请输入正确的VIP号码") // Toast 提示
}else{
self.view.makeToast("登录成功") // Toast 提示
}
}
}
}

// 输入框内容 改变 监听
@IBAction func et_vip_code_changed(_ sender: Any) {
let vipCode = et_vip_code.text!
if vipCode.count > 0 {
bt_login.backgroundColor = #colorLiteral(red: 0.1921568627, green: 0.5411764706, blue: 1, alpha: 1) // 已经输入VIP号码 登录按钮背景色
} else{
bt_login.backgroundColor = #colorLiteral(red: 0.3137254902, green: 0.3921568627, blue: 0.5137254902, alpha: 1) // 没有输入VIP号码 登录按钮背景色
}
}

}

7.Toast-Swift的Github地址:


https://github.com/scalessec/Toast-Swift

8.下一篇,我们来实现从登录界面跳转到主界面。




推荐阅读
author-avatar
霸道Q丫头
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有