• [一、基础控件]10使用SecureField密文输入框接收用户的密码


    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址: https://www.cnblogs.com/strengthen/p/16587205.html
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    热烈欢迎,请直接点击!!!

    进入博主App Store主页,下载使用各个作品!!!

    注:博主将坚持每月上线一个新app!!!

    本文演示SecureField视图的使用。

    【SceneDelegate.swift】:ContextView添加了一个属性,所以需要修改程序入口处的代码

     1     func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
     2         // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
     3         // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
     4         // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
     5 
     6         // Use a UIHostingController as window root view controller
     7         if let windowScene = scene as? UIWindowScene {
     8             let window = UIWindow(windowScene: windowScene)
     9             //由于给ContextView添加了一个属性,所以需要修改程序入口处的代码,设置password的初始值为空。
    10             window.rootViewController = UIHostingController(rootView: ContentView(password: ""))
    11             self.window = window
    12             window.makeKeyAndVisible()
    13         }
    14     }

    【ContentView.swift】

     1 import SwiftUI
     2 
     3 struct ContentView : View {
     4     //要使用SecureField视图,
     5     //首先给当前的结构体添加一个属性。
     6     //该属性用于存储用户输入的密码,并在属性的左侧添加一个@State属性代理标记,
     7     //从而使属性和界面元素进行绑定。
     8     @State var password : String
     9     
    10     var body: some View {
    11         
    12         VStack{
    13             //修改文本视图,以实时显示属性的值。
    14             Text("Your password is \(password)!")
    15             
    16             //添加一个密文输入框,并设置指定的占位符。
    17             //同时设置它的text的值为password属性的值,
    18             //并通过$符号和password属性进行绑定包装。
    19             SecureField("Your password", text: $password) {
    20                 //在用户完成密码的输入之后,在尾随的闭包语句中,打印用户输入的密码信息。
    21                 print("Your password is \(self.password)!")
    22             }
    23                 //设置输入框的边框样式为圆角样式
    24             .textFieldStyle(RoundedBorderTextFieldStyle())
    25         }
    26         //设置VStack视图的内边距,使SecureField与屏幕两侧保持一定的距离
    27         .padding()
    28     }
    29 }
    30 
    31 #if DEBUG
    32 struct ContentView_Previews : PreviewProvider {
    33     
    34     static var previews: some View {
    35         //然后同样对PreviewProvider的代码进行一些修改。
    36         ContentView(password: "")
    37     }
    38 }
    39 #endif
  • 相关阅读:
    Astyle中文格式说明
    windows安装composer,配置环境变量,使用及报错处理
    Centos 中使用Supervisor守护进程(转载)
    react native Android返回键监听BackHandler
    IE兼容问题
    mysql修改root密码的方法
    11月15日jquery学习笔记
    2016年11月2日——jQuery源码学习笔记
    2016年11月1日——jQuery源码学习笔记
    windows下apache+php+mysql配置
  • 原文地址:https://www.cnblogs.com/strengthen/p/16587205.html
Copyright © 2020-2023  润新知