我正在開發一個應用程式,我想在一天中的不同時間顯示不同的視圖(例如View1(),從 12:00 PM 到:3:00 PM 和View2()從 3:00 PM 到 8:00 PM)
編輯:這里的問題是,當它 15:30 時,View1()將打開而不是View3().
let dateComps = Calendar.current.dateComponents([.hour, .minute], from: Date())
struct MainView: View{
var body: some View{
if (dateComps.hour! >= 12 && dateComps.minute! >= 30) && dateComps.hour! <= 15 {
View1()
} else if dateComps.hour! >= 15 && (dateComps.hour! <= 18 && dateComps.minute! <= 30) {
View2()
} else {
View3()
}
}
}
uj5u.com熱心網友回復:
如果您想根據一天中的時間更改視圖,您可以嘗試使用DateComponents 之類的東西。這種系統的代碼如下(適用于 IOS 15/ Xcode 13)
//You can use anything in the brackets,such as weekday,
let dateComps = Calendar.current.dateComponents([.hour, .day, .weekday, .month], from: Date())
struct MainView: View{
var body: some View {
//24 Hour format, measured in ints
if dateComps.hour! <= 12 {
//If morning
morningView()
} else if dateComps.hour! <= 18 {
//afternoon
afternoonView()
} else {
//Other or Evening view
eveningView()
}
}
}
您還可以在函式中切換這些東西并根據一天中的時間回傳一個變數或其他東西。只需確保將組件中您想要的東西放在整體組件名稱之后,然后打開它 - 使用!要么 ?如果要提供默認值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443571.html
下一篇:在范圍內找不到“模型”
