Swift -Login(MVC 纯代码)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000 }
span.s1 { }
span.s2 { color: #c42275 }
span.s3 { color: #c81b13 }
span.s4 { font: 24.0px "PingFang SC"; color: #c81b13 }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #1e9421 }
span.s1 { }
span.s2 { font: 24.0px "PingFang SC" }
//Swift 提醒框
let alert = UIAlertController(title:"提示", message:"用户名或密码错误", preferredStyle: .alert)
let cancel = UIAlertAction(title: "取消", style: .cancel, handler: { (action) in
print("-------222222222222")
})
let ok = UIAlertAction(title: "确定", style: .default, handler: { (action) in
print("-----------11111111")
})
alert.addAction(cancel)
alert.addAction(ok)
self.present(alert, animated: true, completion: nil)
//登录界面的View视图
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000; min-height: 28.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #703daa }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #294c50 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #c81b13 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #539aa4 }
span.s1 { color: #c42275 }
span.s2 { }
span.s3 { color: #6122ae }
span.s4 { color: #703daa }
span.s5 { color: #000000 }
span.s6 { color: #3e1e81 }
span.s7 { color: #539aa4 }
span.s8 { color: #c81b13 }
span.s9 { font: 24.0px "PingFang SC"; color: #c81b13 }
span.s10 { color: #0435ff }
import UIKit
class LoginView: UIView {
var nameTextfiled :UITextField!
var passworkTextfiled :UITextField!
var loginButton:UIButton!
var register : UIButton!
override init(frame : CGRect)
{
super.init(frame: frame)
self.backgroundColor = UIColor .red
creatNameTextfiled()
creatPassworkTextfiled()
creatLoginBtn()
creatRegisterBtn()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func creatNameTextfiled() {
nameTextfiled = UITextField()
nameTextfiled.placeholder = "输入用户名"
nameTextfiled.frame = CGRect(x: 20, y: 200, width: 335, height: 40)
nameTextfiled.backgroundColor = UIColor.gray
self.addSubview(nameTextfiled)
}
func creatPassworkTextfiled() {
passworkTextfiled = UITextField()
passworkTextfiled.placeholder = "输入密码"
passworkTextfiled.frame = CGRect(x: 20, y: 260, width: 335, height: 40)
passworkTextfiled.backgroundColor = UIColor.gray
self.addSubview(passworkTextfiled)
}
func creatLoginBtn() {
loginButton = UIButton()
loginButton.frame = CGRect(x: 20, y: 320, width: 100, height: 30)
loginButton.setTitle("登录", for: .normal)
loginButton.backgroundColor = UIColor.gray
self.addSubview(loginButton)
}
func creatRegisterBtn() {
register = UIButton()
register.frame = CGRect(x: 255, y: 320, width: 100, height: 30)
register.setTitle("注册", for: .normal)
register.backgroundColor = UIColor.gray
self.addSubview(register)
}
}
//登录的Controller控制器
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000; min-height: 28.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #6122ae }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #703daa }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #539aa4 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #c81b13 }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC"; color: #1e9421 }
span.s1 { color: #c42275 }
span.s2 { }
span.s3 { color: #000000 }
span.s4 { color: #3c828b }
span.s5 { color: #3e1e81 }
span.s6 { color: #6122ae }
span.s7 { color: #539aa4 }
span.s8 { color: #703daa }
span.s9 { color: #0435ff }
span.s10 { color: #294c50 }
span.s11 { font: 24.0px Menlo; color: #000000 }
span.s12 { font: 24.0px Menlo }
span.s13 { color: #c81b13 }
span.s14 { font: 24.0px "PingFang SC"; color: #c81b13 }
span.s15 { font: 24.0px "PingFang SC" }
import UIKit
class LoginViewController: UIViewController ,UITextFieldDelegate {
var codeV = LoginView()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.white
codeV = LoginView(frame: CGRect( x:0,y:0,width:375,height:667))
codeV.nameTextfiled.delegate = self
codeV.passworkTextfiled.delegate = self
codeV.loginButton.addTarget(self, action: #selector(LoginViewController.loginEvent), for: .touchUpInside)
codeV.register.addTarget(self, action: #selector(LoginViewController.registerEvent(textFd:)), for: .touchUpInside)
self.view.addSubview(codeV)
}
func loginEvent () {
print("==========")
}
func registerEvent(textFd :UITextField ) {
print("------------")
let reginserVc = RegisterViewController()
self.navigationController?.pushViewController(reginserVc, animated:true)
}
//编辑结束时调用的方法
func textFieldDidEndEditing(_ textField: UITextField) {
if textField.placeholder == "输入用户名" {
print("=========获得用户名")
}else{
print("=========获得密码")
}
}
Swift -Login(MVC 纯代码)的更多相关文章
- swift 之 纯代码创建 cell
初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...
- swift 纯代码自定义控件
1.创建自定义控件 import UIKit class CustomView: UIView { var lab:UILabel! var btn:UIButton! /************ 将 ...
- IOS之UI--小实例项目--添加商品和商品名(纯代码终结版)
前言:这个小实例项目是完完全全以MJ视频传授的优化方案一步一个思路从零开始敲出代码的,而且每一步都有思路,都有逻辑所以然.敲代码讲究思路,我个人不建议记忆太多东西,反正我记性很差的. 小贴士:文章末尾 ...
- iOS高仿app源码:纯代码打造高仿优质《内涵段子》
iOS高仿app源码:纯代码打造高仿优质<内涵段子>收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesy ...
- 史上比较用心的纯代码实现 AutoLayout
入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...
- iOS开发——OC篇&纯代码退出键盘
关于iOS开发中键盘的退出,其实方法有很多中,而且笔者也也学会了不少,包括各种非纯代码界面的退出. 但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 ...
- 搭建App主流框架_纯代码搭建(OC)
转载自:http://my.oschina.net/hejunbinlan/blog/529778?fromerr=EmSuX7PR 搭建主流框架界面 源码地址在文章末尾 达成效果 效果图 注:本文部 ...
- 纯代码编写qt登录界面(转)
1. 新建Qt Widgets Application,项目名称为login1,在类信息页面保持类名和基类为MainWindow和QMainWindow不变,取消选择创建界面选项,如下图所示. ...
- AJ学IOS(17)UI之纯代码自定义Cell实现新浪微博UI
AJ分享,必须精品 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用get ...
随机推荐
- 旅游公司招聘Java工程师
公司招聘:岗位要求如下 Java开发工程师工作内容1.根据需求完成软件系统代码的开发,测试以及文档撰写工作:2.分析并解决客户的问题:3.配合业务部门进行数据分析以及系统优化 岗位要求:1.本科以上学 ...
- 拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc
不久前发布了一篇博文".NET轻量级RPC框架:Rabbit.Rpc",当初只实现了非常简单的功能,也罗列了之后的计划,经过几天的不断努力又为Rabbit.Rpc增加了一大波新特性 ...
- MapReduce工作流多种实现方式
学习 hadoop,必不可少的就是编写 MapReduce 程序.当然,对于简单的分析程序,我们只需一个 MapReduce 任务就能搞定,然而对于比较复杂的分析程序,我们可能需要多个Job或者多个M ...
- Netty:数据处理流程
Netty作为异步的.事件驱动一个网络通信框架,使用它可以帮助我们快速开发高性能高可靠性的网络服务. 为了更好的使用Netty来解决开发中的问题,学习Netty是很有必要的. Netty现在主流有三个 ...
- v$session中server为none与shared值解析
查询V$SESSION,你会看到SERVER可能会有DEDICATED| SHARED| PSEUDO| NONE 四种值,如果SERVER字段的值除了DEDICATED,还有NONE,则说明当前实例 ...
- 初识Android Studio
刚开始接触Android Studio,很多不适应的地方,自己慢慢摸索,记录下了一些问题和解决途径. 为了能使用android虚拟机,需要下载镜像,镜像有基于arm架构的也有基于intelx86.x6 ...
- Unity性能优化(2)-官方教程Diagnosing performance problems using the Profiler window翻译
本文是Unity官方教程,性能优化系列的第二篇<Diagnosing performance problems using the Profiler window>的简单翻译. 相关文章: ...
- AC日记——丑数 codevs 1246
1246 丑数 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 对于一给定的素 ...
- webgl巧妙方式写着色器代码
var VSHADER_SOURCE = function(){ /* void main(){ gl_Position = vec4(0.0,0.0,0.0,1.0); gl_PointSize = ...
- [LeetCode] Sort Characters By Frequency 根据字符出现频率排序
Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...