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. 微信小程序热点云笔记demo 开源总结

    因为公司的项目需要,我们自己开发了一个微信小程序的云笔记 开源地址 https://github.com/hotapp888/hotapp-notepad 云笔记功能特点:(1)自动微信登录(2)笔记 ...

  2. 每日Scrum站会实践推荐

    流程 1.团队在Scrum 白板前集中,推荐围成一个半圆形状. 2.最左边的成员开始讲述昨天/上一次Scrum每日站会后到现在为止,完成了什么任务,只需讲对应的任务就行了,不要讲很长的故事. 3.讲述 ...

  3. Excel公式 提取文件路径后缀

    我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获 ...

  4. java 线程池——异步任务

    一.简单粗暴的线程 最原始的方式,当我们要并行的或者异步的执行一个任务的时候,我们会直接使用启动一个线程的方式,如下面所示: new Thread(new Runnable() { @Override ...

  5. 项目实现不同环境不同配置文件-maven profile

    最近接触的项目都是在很多地方都落地的项目,需要支持不同的环境使用不同的配置文件.一直以来都以为是人工的去写不同的配置文件,手动的去修改运用的配置文件.感觉自己还是太low呀.maven的使用的还停留在 ...

  6. JavaScript代码段整理笔记系列(一)

    30段JavaScript代码——上篇 1.如何区分IE及非IE浏览器: if(!+[1,]){ //IE 11 不支持 alert("这是 IE 浏览器"): }else{ al ...

  7. Month Scheme

    新的一个月,我要给自己立FLAG了, ABCDEFG HIJKLMN 天下事有难易乎,为之,则难者亦易矣,不为,则易者亦难矣. 这次采取的策略是,每完成一项work回来补充内容.希望能把这篇blog补 ...

  8. java.lang.String.getBytes(String charsetName)方法实例

    java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...

  9. Vim Using

    1 2 set nu 3 set backup 4 set bg=light 5 " transform tab to space 6 set expandtab 7 " auto ...

  10. half extents

    blue line is hypotenuse From there you can simply linearly add Pi/4 to the angle (45 degrees), then ...