-
当用户在输入密码时,我们需要使用密文来显示用户输入的内容,这就需要借助SecureField视图。要使用该视图,首先给当前的结构体添加一个属性。
-
该属性用于存储用户输入的密码,并在属性的左侧添加了一个@State属性代理标记,从而使属性和界面元素进行绑定。
-
修改当前的文本视图,以实时显示属性的值。这里实时显示密码,只是为了方便演示密文输入框的使用。由于密码属于隐私,通常不会显示密码信息的。
-
添加一个密文输入框,并设置指定的占位符。同时设置它的text的值为password属性的值,并通过美元符号和password属性进行绑定包装。
-
当用户完成密码的输入之后,在尾随的闭包语句中,打印用户输入的密码信息。接着点击此处的文件名称,打开文件名称列表。
-
打开并编辑此处的文件。
-
由于我们给ContentView添加了一个属性,所以需要修改程序入口处的代码。
-
对ContentView的初始化代码进行修改,并将password的属性的初始值设置为空。接着返回上一个文件。
-
然后同样对PreviewProvider的代码进行一些修改。
-
对ContentView的初始化代码进行修改,将password的属性的初始值设置为空。
-
设置输入框的边框样式为圆角样式。
-
由于SecureField属于交互控件,所以需要点击此处的实时预览按钮,激活实时预览功能。只有在实时预览模式下,才可以和界面中的元素进行交互操作。
-
在密文输入框里点击,开始密码的输入。
-
使用键盘输入用户的密码。
-
TextField以明文的方式显示用户输入的字符,而SecureField则以圆点代替显示字符。接着继续输入其它的字符,并观察上方标签里的密码属性值的变化。
-
最后点击此处的实时预览按钮,取消实时预览功能,并结束本节课程。
本节源码:
import
SwiftUI
struct
ContentView
:
View
{
@State
var
password
:
String
var
body
:
some
View
{
VStack
{
Text
(
"Your password is
\(
password
)
!"
)
SecureField
(
"Your password"
,
text
:
$password
)
{
print
(
"Your password is
\(
self
.
password
)
!"
)
.
textFieldStyle
(
RoundedBorderTextFieldStyle
(
)
)
.
padding
(
)
struct
ContentView_Previews
:
PreviewProvider
{
static
var
previews
:
some
View
{
ContentView
(
password
:
""
)
密码
组件
Secu
re
Field
("", text: $pass)
Text
Field
风格 struct PlaceholderText
Field
Style: Text
Field
Style
实战
代码
import
SwiftUI
struct ContentView: View {
var body: some View {
【课程特点】1、231
节
大容量课程:包含了
SwiftUI
的大部分知识点,详细讲解
SwiftUI
的方方面面;2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例;3、创新的教学模式:手把手教您
SwiftUI
用户
界面开发技术,一看就懂,一学就会;4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并
节
省您宝贵的时间;6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过; 更好的应用,更少的代码!
SwiftUI
是苹果主推的下一代
用户
界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的
用户
界面。
SwiftUI
是一种创新、简单的iOS开发中的界面布局方案,可以通过
Swift
语言的强大功能,在所有的Apple平台上
快速
构建
用户
界面。 仅
使用
一组工具和API为任何Apple设备构建
用户
界面。
SwiftUI
具有易于阅读和自然编写的声明式
Swift
语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行
SwiftUI
代码已经是您编写过的非常强大的UI代码了。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
源码地址:https://github.com/fzhlee/
SwiftUI
-Guide
相当于UITex
field
的
secu
reTextEntry的属性设置为true时的情况。
示例代码:
struct ContentView : View {
@State var password : String
var body: some View {
A text
field
style with no decoration.
没有装饰的文本字段样式。
2、DefaultText
Field
Style: Text
Field
的默认样式,在 i
视图创建了一个包含标题和控件中间为弹性空间的横向布局,结果就是整个视图占满容器的横向空间,标签和控件位于两端。是一个绑定属性,创建与视图的双向绑定,因此我们可以读取并修改其值来激活或停用控件。这是一个表示任务在处理中的转盘,但不同于进度条,这类指示符没有隐性界限,所示无需指定任何值,如下所示。属性包含一个控件当前标签的视图副本,因此如果想要保留这个标签,必须在新的内容中包含这个值。,因此开关处于打开状态并在屏幕上
显示
On标签,但如果点击开关,就会关闭,视图更新为
显示
Off标签。
最近做项目遇到一个需要做
密码
的
显示
与隐藏功能,简单从功能上讲是比较简单的,但是,ios有个恶心的BUG,就是在切换
显示
密码
后再隐藏
密码
时输入就被清空了,这个非常不友好,为了解决这个问题,我在网上找了相关文
章
,得到了一些启发,解决了这个问题,在这里分享出来供给大家参考与学习!
代码如下:
im...
demo代码
Secu
re
Field
("password", text: $password)
.text
Field
Style(RoundedBorderText
Field
Style())
.padding()
加入我们一起学习
SwiftUI
QQ:3365059189
SwiftUI
技术交流QQ群:5186964
SwiftUI
是苹果主推的下一代
用户
界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的
用户
界面。
SwiftUI
是一种创新、简单的iOS开发中的界面布局方案,可以通过
Swift
语言的强大功能,在所有的Apple平台上
快速
构建
用户
界面。 仅
使用
一组工具和API为任何Apple设备构建...