需要使用 SwiftUI 创建图像网格,根据屏幕宽度动态更改行。
当我使用时List,我只能得到一列..
我尝试使用 Hstacks 制作 2 列,但它不能动态适应屏幕宽度。
例如:iPhone 纵向应有 1 列 示例:iPhone 横向应有 2 列
import SwiftUI
struct ProductGrid : View {
var body: some View {
List(0 ..< 5) { item in
VStack() {
Image("product")
HStack {
ProfileImageSmall()
VStack {
Text("Product")
Text("Username")
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何制作一个列数适应屏幕宽度的网格?
目标:
我做了什么:
struct PointTypeButtons : View {
var body: some View {
VStack {
HStack {
Text("Aligment")
.font(.subheadline)
Spacer()
}
HStack {
Button(action: {}) {
Image(systemName: "text.alignleft")
.padding(.horizontal, 25.0)
.padding(.vertical)
.background(Color.black)
.cornerRadius(4)
}
Button(action: {}) {
Image(systemName: "text.aligncenter")
.padding(.horizontal, 25.0)
.padding(.vertical)
.background(Color.black)
.cornerRadius(4)
}
Button(action: {}) {
Image(systemName: "text.aligncenter")
.padding(.horizontal, 25.0)
.padding(.vertical)
.background(Color.black)
.cornerRadius(4)
}
Button(action: {}) {
Image(systemName: "text.alignright")
.padding(.horizontal, 25.0)
.padding(.vertical)
.background(Color.black)
.cornerRadius(4)
}
}
}
.frame(height: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
struct ToolbarBezier : View …Run Code Online (Sandbox Code Playgroud) 我怎样才能在列表的中心制作这个箭头?
struct ProductsList : View {
var body: some View {
VStack {
List {
Image(systemName: "shift")
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
问题:Pad上的视图显示不想要的拆分视图。
我当前的设置是:Catalina OSX beta 5 + Xcode 11 Beta 5
这是我使用的代码,以及一个导航视图和一个导航标题
import SwiftUI
struct SwiftUIView: View {
var body: some View {
NavigationView {
Text("Search")
.navigationBarTitle(Text("Search"))
}
}
}
#if DEBUG
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
当在iPad(物理设备和预览版)上模拟而不是全屏显示时,我得到了以下分屏显示:
如果我只有一个视图,而没有NavigationView,那么我将获得全屏视图:
import SwiftUI
struct SwiftUIView: View {
var body: some View {
Text("Hello World!")
}
}
#if DEBUG
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
#endif …Run Code Online (Sandbox Code Playgroud) 在文本视图中添加长文本时,它按预期工作(未截断)。
Xcode 11.0 测试版 6 (11M392q)
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia …Run Code Online (Sandbox Code Playgroud) 下面的 WWDC21 演讲展示了如何“使用 Metal 光线追踪增强您的应用程序”。
如何将 Metal 光线追踪添加到 SceneKit 或 RealityKit 应用程序?
任何基本示例或参考代码将不胜感激!
我一直在尝试复制下面的Apple WWDC 19示例-将SwiftUI VStack转换为Form-无济于事。
这是提到的视频Form:
https://developer.apple.com/videos/play/wwdc2019/216/ (34:08)
这是我用于VStack的代码:
import SwiftUI
struct ContentView : View {
var body: some View {
VStack {
Toggle(isOn: .constant(true)) {
Text("Toggle")
}
Stepper(value:.constant(4), in: 1...10) {
Text("Stepper")
}
Text("Hello World")
}
}
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码Form:
import SwiftUI
struct ContentView : View {
var body: some View {
Form {
Toggle(isOn: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 UIBezierPath 转换为 SwiftUI 路径
我设法通过编辑波纹管代码手动完成:
从:
UIBezierPath controlPoint1 : CGPoint(x: 1226.38, y: 0), controlPoint2: CGPoint(x: 1199.37, y: 0))
到:
SwiftUI control1: CGPoint(x: 1226.38, y: 0), control2: CGPoint(x: 1199.37, y: 0))
完整路径代码示例:
let stroke253 = UIBezierPath()
stroke253.move(to: CGPoint(x: 1253.45, y: 0))
stroke253.addCurve(to: CGPoint(x: 1172.3, y: 0), controlPoint1: CGPoint(x: 1226.38, y: 0), controlPoint2: CGPoint(x: 1199.37, y: 0))
stroke253.addCurve(to: CGPoint(x: 990.46, y: 0), controlPoint1: CGPoint(x: 1111.66, y: 0), controlPoint2: CGPoint(x: 1051.12, y: 0))
stroke253.addCurve(to: CGPoint(x: 808.64, y: 0), controlPoint1: CGPoint(x: 929.82, y: …Run Code Online (Sandbox Code Playgroud) RealityKit 有相机选项.nonAR,但缺乏构建 3D 非 AR 应用程序的基本选项,例如相机控制 ( .allowsCameraComtrol)。
使用 RealityKit 替代 SceneKit 是否可行(过去几年没有更新,可能很快就会被亵渎)?
如何将Scenekit场景添加到SwiftUI视图?
我使用标准的Ship Scene示例尝试了以下Hello World ...
import SwiftUI
import SceneKit
struct SwiftUIView : View {
var body: some View {
ship()
Text("hello World")
}
Run Code Online (Sandbox Code Playgroud)
swiftui ×8
swift ×5
xcode11 ×4
scenekit ×3
realitykit ×2
cgpoint ×1
ios ×1
metal ×1
swiftui-form ×1
tabs ×1
uibezierpath ×1