小编ben*_*oy9的帖子

根据设备更改视图 - SwiftUI

我最初是为 iPad 设计的应用程序,现在也想为 iPhone 添加功能。有没有办法检查正在使用的设备是什么,然后相应地显示视图?

结构化英语:

IF current_device == iPhone THEN
    DISPLAY iPhoneView
ELSE IF current_device == iPad THEN
    DISPLAY iPadView
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我还希望 iPad 视图仅水平可用,然后 iPhone 视图仅在可能的情况下垂直可用。

ios responsive-design swift responsive swiftui

5
推荐指数
1
解决办法
2541
查看次数

重置主要内容视图 - Swift UI

我的应用程序有一个用户使用的主屏幕,然后一旦完成,就转到另一个视图,当前实现为.fullscreencover. 我希望用户能够按下按钮,应用程序几乎会重置,将所有内容恢复到应用程序首次启动时的状态,并重置所有变量和类。

我尝试过的一种方法是在最终视图之上再次打开视图,但这不会重置它。这是我尝试过但不起作用的代码:

Button("New Game"){
    newGame.toggle()
}
 .fullScreenCover(isPresented: $newGame){
     ContentView()
 }
Run Code Online (Sandbox Code Playgroud)

除此之外,我还尝试了导航视图,但这会导致我的应用程序的功能出现更多问题。

是否有一行代码可以让您执行此操作?

ios swift swiftui

3
推荐指数
1
解决办法
3012
查看次数

迭代 NSSet - SwiftUI 2.0

我开始研究 CoreData 并有两个实体。这些形成了 Player 之间的多对多关系:

在此处输入图片说明

和团队:

在此处输入图片说明

我试图在列表中使用 ForEach 遍历团队的球员,但我似乎无法让它工作。我一直在尝试的代码如下。我尝试的任何其他解决方案都会出现错误,例如“NSObject 类型的值没有成员名称”

struct PlayersView: View{
    var team: Team
    
    var body: some View{
        NavigationView{
            List{
                ForEach(Array(team.people! as Set), id: \.self){ player in
                    Text("\(player.name)" ) //Error on this line
                    
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我想我需要将播放器类型改回播放器对象,但我不确定

core-data nsset swift swiftui

3
推荐指数
2
解决办法
281
查看次数

标签 统计

swift ×3

swiftui ×3

ios ×2

core-data ×1

nsset ×1

responsive ×1

responsive-design ×1