菜鳥入門,各位大佬輕噴,如有謬誤之處歡迎討論建議,也歡迎各位道友與我同行
"不積跬步,無以至千里;不積小流,無以成江海"
續接上篇文章,我們實現了一個簡單的登陸界面,但是我們的表單提示,例如用戶名等,是用的文字在按鈕上方提示的
那我們如何去實現一個提示框用于提示呢?然后再自動聚焦到輸入框中呢?
// 是否顯示彈窗的標識
@State private var showAlert:Bool = false;
// 在登陸按鈕之后放置彈窗
Button("登陸"){
// 切換要顯示Alert
showAlert.toggle();
// 省略一部分操作。。。
}.alert(isPresented: $showAlert){ // 這里 isPresented 綁定 showAlert變量
Alert(
title: Text("提示"), // 頂部的標題
message: Text(res), // 彈窗的內容,需要是一個Text,調用了我們之前定義的提示文本
primaryButton: .default(Text("取消")){// 第一個按鈕是默認類型樣式,顯示取消
// 第一個按鈕點擊后的操作
},
secondaryButton: .destructive(Text("確定")){
}
)
}
以上的代碼運行后得到如下結果
在這里插入圖片描述
以上的彈出框提示已經解決,那么接下來需要實現的是彈出之后哪一個字段沒填,就讓它自動聚焦,讓用戶可以直接填寫那個字段 添加如下的代碼
// 是否聚焦到用戶名字段,注意@符號后面跟的是 FocusState,不然用到focused里面會報錯,并且不能設置默認值
@FocusState private var focusUser:Bool;
HStack{
Text("用戶名")
Spacer()
TextField("請輸入用戶名",text:$userName)
.multilineTextAlignment(.center)
// 給用戶名字段的 focused 綁定 focusUser 變量
.focused($focusUser)
}.padding(.all)
}
/// ... 省略部分代碼
Button("登陸"){
// 切換要顯示Alert
showAlert.toggle();
if(userName == ""){
// 如果沒填 userName 那么切換 focusUser 的值
focusUser.toggle()
}
// 省略一部分操作。。。
}
// 。。。 省略Alert部分
此處的代碼實現了,如果在點擊登陸按鈕后用戶名沒有填,自動聚焦到用戶名字段
在本頁面中,共有三個字段,可以定義三個變量的形式來進行判定聚焦
但是如果有很多個字段的話就不合適了,我們可以使用枚舉的方式來進行定義
以下貼出本頁面完整的代碼
import SwiftUI
struct ContentView: View {
// 用戶名
@State private var userName:String = "";
// 密碼
@State private var passWord:String = "";
// 驗證碼
@State private var code:String = "";
// 提示語
@State private var res:String = "請輸入。。。";
// 提示語的顏色,color類型
@State private var color:Color = .red;
// 是否顯示彈窗標識
@State private var showAlert:Bool = false;
// 聚焦到哪一個字段?
@FocusState private var focus:FocusField?;
// 定義一個 Hashable 的枚舉,因為 focused 的第二個參數需要一個hashable的參數
enum FocusField:Hashable{
case name;
case password;
case code;
case clear;
};
var body: some View {
// 整體縱向布局
VStack {
// 頁面標題,加粗,標題字體
Text("登陸界面").fontWeight(.bold).font(.title)
// 分隔占位,有點類似html中flex的flex:1,具體怎么用之后再看
Spacer()
// 一個橫向布局,表單項名稱-分隔占位-以及表單項
// 給一個 .all 的 padding,不然不好看
HStack{
Text("用戶名")
Spacer()
TextField("請輸入用戶名",text:$userName)
.multilineTextAlignment(.center)
// focused 綁定 focus變量,當該變量為 .name 時
.focused($focus,equals: .name)
}.padding(.all)
HStack{
Text("密碼")
Spacer()
// secure field 跟 TextField基本類似,只是隱藏輸入的內容
SecureField("請輸入密碼",text:$passWord)
.multilineTextAlignment(.center)
.focused($focus, equals: .password)
}.padding(.all)
HStack{
Text("驗證碼")
Spacer()
TextField("請輸入驗證碼",text:$code)
.multilineTextAlignment(.center)
.focused($focus, equals: .code)
}.padding(.all)
Spacer()
// 提示語和button在一起
Text(res).foregroundColor(color)
Button("登陸"){
showAlert.toggle();
color = .red
// button 的點擊事件action,做一個簡單的判斷
// 修改 res 的名稱,以及res的顏色
if(userName == ""){
res = "請輸入用戶名!";
return ;
}
if(passWord == ""){
res = "請輸入密碼!"
return ;
}
if(code == ""){
res = "請輸入驗證碼";
return ;
}
color = .green;
res = "登陸成功"
// 清空表單數據
userName = "";
passWord = "";
code = "";
}.buttonStyle(.bordered)
.alert(isPresented: $showAlert){
Alert(
title: Text("提示"),
message: Text(res),
primaryButton: .default(Text("取消")),
secondaryButton: .destructive(Text("確定")){
if(res == "請輸入用戶名!"){
// 沒有用戶名
focus = .name
}
if(res == "請輸入密碼!"){
focus = .password
}
if(res == "請輸入驗證碼!"){
focus = .code
}
if(res == "登陸成功" || res == "請輸入。。。"){
focus = .clear
}
}
)
}
}
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
運行得到以下的結果
在這里插入圖片描述
如今的這個紛雜世界里,影響我們視覺感官的因素太多了,于是乎才有了“聚焦”一說。作為人們與世界交流的重要窗口,網絡瀏覽器也不例外。這不,微軟基于Chromium的Microsoft Edge瀏覽器,就為我們提供了一種“聚焦模式”(Focus Mode),它能夠讓我們專注某個網頁的核心內容的閱讀,而屏蔽掉一切與此無關的彈出或閑雜信息。
類似的“聚焦模式”(Focus Mode)新功能在Chrome中也即將出現。由于Windows 10將摒棄以EdgeHTML為核心的Edge瀏覽器,過渡到基于Chromium的Microsoft Edge,而基于Chromium的Microsoft Edge兼容Chromium內核瀏覽器的許多豐富功能,如大量的擴展插件,因此新的Edge會給用戶帶來極大的方便和廣闊的使用空間。
首先下載并運行基于Chromium的Microsoft Edge瀏覽器測試版。注意,它與當前Windows 10中自帶的Edge各行其道,運行不會有沖突,生成的圖標也不會相互覆蓋。
在地址欄中鍵入以下命令:
edge://flags
在搜索結果中查找以下標志(圖1):
Focus Mode
我們也可以將以下URL復制并粘貼到Microsoft Edge的地址欄中直達目標(圖2):
edge://flags/#focus-mode
在Microsoft Edge中,聚焦模式當前設置為Default,默認情況下該功能暫不啟用。單擊該下拉菜單并選擇Enabled啟用。點擊Relaunch重新啟動瀏覽器,才能應用更改(圖3)。
下次啟動瀏覽器時,在網頁選項卡的右鍵菜單中,能看到一個Focus this tab新選項(圖4)。這將允許我們在聚焦模式下啟動網頁,從而在窗口中不使用任何其他選項的情況下讀取內容。這對專注于網上閱讀文章的用戶,或瀏覽那些老是彈出廣告或無關信息的網頁,將起到非常好的“凈化”作用。
若需要返回到原來的網頁,只需在聚焦窗口的右鍵菜單中選擇Open browser window即可(圖5)。
久沒參與魔方的發布工作了,今天提筆,有種莫名的生疏和惶恐,從下午四點半一直坐到現在,3個小時,刪刪寫寫。千言無語,千頭萬緒,千百般滋味涌上心頭,真的很懷念那些年每個周五定期一更的日子,簡單而快樂。
2006年12月Vista優化大師發布第一個測試版,再到2009年9月發布魔方0.1,時光荏苒,便過去了9年。很多當初最早的那批朋友,現在都成了老友,有時候一覺醒來,發現軟媒的那個最老用戶群里的消息閃爍,由衷的開心,沒有什么比熟悉的感覺更有韻味。
產品部的魔方一哥過來催文了,盡管他說理解我的心情啊什么的,但是為了保持一貫的不加班作風,我得直入主題了——
魔方6.16正式版現在發布,“忍不住”還是讓產品組加了新功能,本來說好的要克制加新功能的沖動,重點大幅改進清理等原有常用功能的。
這次忍不住要加的新功能,大家在標題里面已經看到了,就是一鍵提取微軟官方的精美聚焦壁紙(美化大師頂部加入了“聚焦壁紙”)。熟悉微軟的朋友都知道,Win10TH2開始系統增加了“Windows 聚焦”壁紙,大家在系統設置的“個性化”-“鎖屏設置”里面可以設置鎖屏的背景壁紙為“Windows 聚焦”,如下圖所示:
這些微軟官方提供的鎖屏壁紙還是非常精美的,會自動的下載并切換,于是魔方便加入了提取功能,需要注意的是,這兒的提取,是提取的本機已經下載的,如果您之前沒有開啟過Windows聚焦功能,是抓不到的。這個抓取功能更方便的是讓大家隨時保存最新的。那過去的好看聚焦壁紙怎么辦?別著急,我們在軟件界面提供了所有Win10歷史聚焦壁紙下載大全的鏈接,很貼心的說。
當然,這次魔方還有其他的有愛更新,例如清理大師的重復文件查找支持了批量選擇和刪除操作,例如設置大師中加入了讓資源管理器關閉mkv文件的預覽以防止卡頓,軟媒雷達、軟媒時間、WiFi助手、軟媒壓縮等都有界面和功能修復改進。
具體更新內容的細節,請看下面的更新歷史吧!
PS:按照慣例,軟媒魔方將在發布數十分鐘后才放開自動升級。
一、軟媒魔方更新歷史
軟媒魔方 6.1.6.0 正式版 - 2015年12月17日
魔方主程序 6.1.6.0:
新增:應用大全 - 增加旗魚瀏覽器PC版入口
軟媒美化大師 3.6.9.0:
新增:針對Win10 TH2增加Windows聚焦壁紙一鍵提取功能
軟媒時間 3.1.3.0:
修正:界面 - 多云和陰天的小圖標弄反的問題修正:界面 - 系統開啟高DPI的時候,窗口太小的問題
軟媒清理大師 3.7.3.0:
新增:隱私清理 - Office 2016打開歷史記錄清理
改進:重復文件查找 - 支持批量操作改進:注冊表清理 - 屏蔽注冊表清理功能
修正:隱私清理 - Office 2013打開歷史記錄清理不掉的問題
軟媒設置大師 3.6.8.0:
新增:資源管理器 - 關閉MKV視頻預覽
軟媒雷達 6.0.7.0:
修正:本機信息 - 讀取IE的Flash Player版本號錯誤的問題修正:界面 - 系統開啟高DPI的時候,窗口太小的問題
軟媒IE管理大師 1.9.8.0:
修正:界面 - 系統開啟高DPI的時候,窗口太小的問題
軟媒WiFi助手 1.1.8.0:
修正:穩定性 - 啟動WiFi助手時可能發生的崩潰問題
軟媒壓縮 1.1.5.0:
修正:界面 - 系統開啟高DPI的時候,窗口太小的問題
二、為什么大家都在用魔方?
軟媒魔方好不好?軟媒魔方有什么用?為什么要用軟媒魔方?
先列出一些基本組件功能:
1、清理大師:一鍵清理、深度清理、注冊表清理、字體清理,還有隱私清理。。。難道你不需要?
2、美化大師:改系統字體、DIY win7開始按鈕、設置開機動畫、破解系統主題、修改系統聲音。。。怎么個性怎么玩,美化大師全搞定!
3、優化大師:一鍵加速、添加、刪除系統啟動項,讓你輕松掌控系統進程的開啟!
4、軟媒時間,軟媒全球首創獨創的創意,任務欄時間區加入農歷、天氣等顯示,不占任何額外空間,超NB!
5、軟媒桌面:哈,Windows系統里多了類似蘋果Mac OS X的快捷欄,方便大發了。
6、軟件管家:精選裝機必備軟件大全,下載杠杠的……
7、系統雷達:任務欄窗口+桌面懸浮窗自由隨意選擇,實時監控網絡流量、CPU、內存占用、磁盤讀寫,簡單、清晰、方便!
8、U盤啟動:一鍵制作U盤系統安裝盤,裝機還是PE維護簡直輕松到極點!
9、硬盤裝機:僅需兩步,輕松幫你重裝系統,win7、win8、win10,想裝什么裝什么,你肯定需要!
10、WiFi共享助手:超級簡單,打開軟件,一鍵開啟熱點,立馬擺脫手機流量不夠用的困擾!!親,你的流量還夠用嗎?
還有啥?上面列出的連一半功能都不到,還有網速測試、磁盤大師、文件校驗、文件解鎖、文件分割合并、文件粉碎……等等,還有好多功能,你能想到的基本都有!
軟媒魔方現在已經有4000萬用戶下載使用,好用沒得說!
三、軟媒魔方軟件截圖
只需一鍵,智能模式讓你可以放心的把軟媒魔方介紹給你的老婆、小姨子和表妹……
右上角輕松切換到專業模式,熟悉中包含著科學改進后的經典布局
軟媒時間,風云變幻-不占用任何額外空間,萬年歷天氣鬧鐘記事本在任務欄時間區完美呈現;
軟媒桌面,好玩好看-喜歡的鼠標拖進來,不愛的鼠標拖出去,桌面干凈整潔靈動驚艷;
軟媒雷達,實時偵探-把握您愛機的每一跳脈動,精確掌控系統軟硬件的占用資源;
軟件管家,純凈精干-編輯精選裝機必備的500款最常用軟件,一鍵安裝絕無插件;
四、軟媒魔方下載信息
初級用戶解惑:安裝包和綠色版有什么不同?安裝版下載后直接雙擊運行即可進入向導安裝,方便快捷。綠色版是ZIP壓縮格式,直接解壓到你指定的文件夾路徑下。
軟媒 - 存在,創造價值。
微信搜索“IT之家”關注搶6s大禮!下載IT之家客戶端(戳這里)也可參與評論抽樓層大獎!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。