[ios development/Xcode] Implement login registration

[ios development/Xcode] Implement login registration

Realize the effect

First enter the initial interface, enter the account number Linchuantao, password Linchuantao, the login failed (as shown on the left below), so you need to register, click on the lower left corner to register, enter the account number Linchuantao, password Linchuantao, click register and log in again with the account number Linchuantao, password
Insert image description here
Linchuantao ,login successful
Insert image description here

source code

Login interface code ViewController.swift

//1.登录界面代码
//  ViewController.swift
//
//  Created by JMU文科状元 on 2021/11/21.
//  Copyright © 2021 JMU文科状元. All rights reserved.
//

import UIKit

class ViewController: UIViewController {
    
    
    let userNameLabel = UILabel(frame:CGRect(x:50,y: 300, width: 200, height: 50))
    let passwordLabel = UILabel(frame:CGRect(x:50,y: 385, width: 100, height: 50))
    let enterUser = UITextField(frame: CGRect(x: 140, y: 310, width: 200, height: 40))
    let enterPassword = UITextField(frame: CGRect(x: 140, y: 390, width: 200, height: 40))
    var user = Dictionary<String,String>()
    let loginBtn = UIButton(type: .system)
let regBtn = UIButton(type: .system)

//定义一些button与text的默认值等数据
    override func viewDidLoad() {
    
    
        super.viewDidLoad()
        userNameLabel.text = "用户名"
        passwordLabel.text = "密码"
        userNameLabel.textColor=UIColor.darkGray        
        passwordLabel.textColor=UIColor.darkGray        
        self.view.addSubview(userNameLabel)
        self.view.addSubview(passwordLabel)
        enterUser.borderStyle = UITextField.BorderStyle.roundedRect
        enterPassword.borderStyle = UITextField.BorderStyle.roundedRect
        enterPassword.isSecureTextEntry = true
        enterUser.placeholder="请输入用户名" 
        enterPassword.placeholder="请输入密码"
        enterUser.clearButtonMode=UITextField.ViewMode.whileEditing
        enterPassword.clearButtonMode=UITextField.ViewMode.whileEditing
        
        self.view.addSubview(enterUser)
        self.view.addSubview(enterPassword)
        loginBtn.frame = CGRect(x: 85, y:450, width: 100, height: 50)
        regBtn.frame = CGRect(x: 200, y:450, width: 100, height: 50)
        loginBtn.setTitle("登录", for: .normal)
        loginBtn.addTarget(self, action: #selector(ViewController.mapForLogin(_:)), for: UIControl.Event.touchUpInside)
        regBtn.setTitle("注册", for: .normal)
        self.view.addSubview(loginBtn)
        
        regBtn.addTarget(self, action: #selector(ViewController.openViewController), for: .touchUpInside)
        self.view.addSubview(regBtn)
    }
    
    @objc func openViewController()
    {
    
    
        let loginView = ViewController1()
        loginView.viewController = self
        self.present(loginView, animated: true, completion: nil)
    }
    
    @objc func mapForLogin(_ button:UIButton)
    {
    
    
        if user[enterUser.text!]==enterPassword.text{
    
    
            let alertController = UIAlertController(title: "登录成功!",message: nil, preferredStyle: .alert)
            self.present(alertController, animated: true,completion: nil)
            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {
    
    self.presentedViewController?.dismiss(animated: false, completion: nil)}
        }
        else{
    
    
            let alertController = UIAlertController(title: "登录失败!",message: nil, preferredStyle: .alert)
            self.present(alertController, animated: true,completion: nil)
            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {
    
    self.presentedViewController?.dismiss(animated: false, completion: nil)}
        }
        
    }
    
    override func didReceiveMemoryWarning() {
    
    
        super.didReceiveMemoryWarning()
    }
    
}

Registration interface code

//2.注册界面代码
//  ViewController1.swift
//
//  Created by JMU文科状元 on 2021/11/21.
//  Copyright © 2021 JMU文科状元. All rights reserved.
//

import UIKit

class ViewController1: UIViewController {
    
    
    let userNameLabel = UILabel(frame:CGRect(x:50,y: 100, width: 200, height: 50))
    let passwordLabel = UILabel(frame:CGRect(x:50,y: 180, width: 100, height: 50))
    let enterUser = UITextField(frame: CGRect(x: 140, y: 110, width: 200, height: 40))
    let enterPassword = UITextField(frame: CGRect(x: 140, y: 190, width: 200, height: 40))
    let regBtn = UIButton(type: .system)
    let returnBtn = UIButton(type: .system)//返回
    weak var viewController : ViewController?
    override func viewDidLoad() {
    
    
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.white
        userNameLabel.text = "用户名"
        passwordLabel.text = "密码"
        userNameLabel.textColor=UIColor.darkGray
        passwordLabel.textColor=UIColor.darkGray
        self.view.addSubview(userNameLabel)
        self.view.addSubview(passwordLabel)
        
        enterUser.borderStyle = UITextField.BorderStyle.roundedRect
        enterPassword.borderStyle = UITextField.BorderStyle.roundedRect
        enterPassword.isSecureTextEntry = true
        
        enterUser.placeholder="请输入用户名" //提示内容
        enterPassword.placeholder="请输入密码"
        enterUser.clearButtonMode=UITextField.ViewMode.whileEditing
        enterPassword.clearButtonMode=UITextField.ViewMode.whileEditing
        self.view.addSubview(enterUser)
        self.view.addSubview(enterPassword)
        regBtn.frame = CGRect(x: 100, y:250, width: 100, height: 50)
        regBtn.setTitle("注册", for: .normal)
        regBtn.addTarget(self, action: #selector(ViewController1.dismissSelf), for: .touchUpInside)
        self.view.addSubview(regBtn)
        returnBtn.frame = CGRect(x: 200, y:250, width: 100, height: 50)
        returnBtn.setTitle("返回", for: .normal)
for: .touchUpInside)
        self.view.addSubview(returnBtn)
    } 
    @objc func dismissSelf()
    {
    
    
        viewController?.user.updateValue(enterPassword.text!, forKey: enterUser.text!)
        self.dismiss(animated: true, completion: nil)
    }
    override func didReceiveMemoryWarning() {
    
    
        super.didReceiveMemoryWarning()
    }
    
}

Guess you like

Origin blog.csdn.net/qq_43605229/article/details/123455158