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 纯代码)的更多相关文章

  1. swift 之 纯代码创建 cell

    初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...

  2. swift 纯代码自定义控件

    1.创建自定义控件 import UIKit class CustomView: UIView { var lab:UILabel! var btn:UIButton! /************ 将 ...

  3. IOS之UI--小实例项目--添加商品和商品名(纯代码终结版)

    前言:这个小实例项目是完完全全以MJ视频传授的优化方案一步一个思路从零开始敲出代码的,而且每一步都有思路,都有逻辑所以然.敲代码讲究思路,我个人不建议记忆太多东西,反正我记性很差的. 小贴士:文章末尾 ...

  4. iOS高仿app源码:纯代码打造高仿优质《内涵段子》

    iOS高仿app源码:纯代码打造高仿优质<内涵段子>收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesy ...

  5. 史上比较用心的纯代码实现 AutoLayout

    入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...

  6. iOS开发——OC篇&纯代码退出键盘

    关于iOS开发中键盘的退出,其实方法有很多中,而且笔者也也学会了不少,包括各种非纯代码界面的退出. 但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 ...

  7. 搭建App主流框架_纯代码搭建(OC)

    转载自:http://my.oschina.net/hejunbinlan/blog/529778?fromerr=EmSuX7PR 搭建主流框架界面 源码地址在文章末尾 达成效果 效果图 注:本文部 ...

  8. 纯代码编写qt登录界面(转)

    1. 新建Qt Widgets Application,项目名称为login1,在类信息页面保持类名和基类为MainWindow和QMainWindow不变,取消选择创建界面选项,如下图所示.     ...

  9. AJ学IOS(17)UI之纯代码自定义Cell实现新浪微博UI

    AJ分享,必须精品 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用get ...

随机推荐

  1. 手机游戏渠道SDK接入工具项目分享(一)缘起

    #剧情章节 # 上周刚结束一个外包的项目,开发手机游戏渠道SDK聚合接入工具的,现在有空回顾整理一下这个项目开发过程,因涉嫌商业秘密不会提供项目代码,只谈下开发思路和掉过的坑. 本人多年从事手机互联网 ...

  2. 转载一篇React native的props的用法

    注:默认值如何设置 http://www.tuicool.com/articles/uMfYv2q

  3. git命令查看远程分支

    使用git remote -v命令可以查看本地设置好的所有远程仓库地址. ➜ learn-vue git:(master) git remote -v origin https://github.co ...

  4. 生成freeswitch事件的几种方式

    本文描述了生成freeswitch事件的几种方式,这里记录下,也方便我以后查阅. 操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 在freeswitch代码中加入事件 ...

  5. oracle索引监控

    目的:监控oracle索引的有效性,看索引有没有被使用.然后根据监控结果删除或者调整索引. 步骤: 1.监控指定索引 命令: alter index  索引名 monitoring usage;  如 ...

  6. JS二分查找

    二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法.查找过程可以分为以下步骤:(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否 ...

  7. sql server 常用的扩展存储过程

    sql server 里面提供了丰富的系统存储过程来辅助我们管理数据库以及开发.今天分享介绍一些常用的数据库扩展存储过程 xp_cmdshell 这个大家都比较熟悉了,使用xp_cmdshell 可以 ...

  8. 【只需3步】源码手动安装Apache以及配置(亲测可行)

    作者小波/QQ463431476欢迎转载! redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/do ...

  9. USB Host的上拉下拉电阻

      关于USB的上下拉电阻,不是随便接个任意阻值的电阻就ok了. 当你的USB为主设备的时候,D+.D-上分别接一个15K的下拉电阻,这样可以使得在没有设备插入的时候,D+.D-上始终保持低电平:当为 ...

  10. 安卓使用SQlite3数据库无法id主键无法自动增加?不是的。

    安卓使用SQlite3数据库无法id主键无法自动增加?不是的. 要这样写:id integer primary key ,要写integer而不是int所以会报错! http://blog.csdn. ...