小编Joh*_* M.的帖子

如何在 swiftUI 中制作一堆垂直滑块

我正在尝试在 iPad 应用程序上使用 SwiftUI 制作一组垂直推子(测试代码中为 10 个,但实际上为 32 个)。水平制作滑块时,它们会在屏幕上正确拉伸。当垂直旋转这些相同的滑块时,它们似乎锁定在它们的水平尺寸上。有没有一种简单的方法可以让滑块垂直?

水平(跨屏幕延伸):

import SwiftUI

struct ContentView: View {
    @State private var sliderVal: Double = 0
    @State var values: [Double] = Array.init(repeating: 0.0, count: 10)

    var body: some View {
        VStack() {
            ForEach((0 ... 9), id: \.self) {i in
                HStack {
                    Text("\(i): ")
                    Slider(value: self.$values[i], in: 0 ... 100, step: 1.0)
                        .colorScheme(.dark)
                    Text("\(Int(self.values[i]))")
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

切换堆栈视图并旋转滑块(不起作用):

struct ContentView: View {
    @State private var sliderVal: Double = 0
    @State var values: …
Run Code Online (Sandbox Code Playgroud)

xcode slider swift swiftui

5
推荐指数
2
解决办法
2057
查看次数

抛出表达式类型“错误?” 不符合“错误”swift 3

将我的游乐场代码更改为 Swift 3,Xcode 建议更改

if let requestError = error {
    completion({throw (Error(code: requestError._code, description: requestError.localizedDescription, innerError: nil, informations:nil))})
}
Run Code Online (Sandbox Code Playgroud)

if let requestError = error {
    completion({throw (Error(code: requestError._code, description: requestError.localizedDescription, innerError: nil, informations:nil)) as! Error})
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:“'Error' 不能转换为 'Error';您的意思是使用 'as!' 强迫垂头丧气?”

swift xcode8

2
推荐指数
1
解决办法
3198
查看次数

SwiftUI:如何播放一次乒乓动画?向前和向后播放动画的正确方法?

我需要的样本:

???????  ??? ?????????  ???????????? .

由于没有.onAnimationCompleted { // Some work... }它的相当有问题。

通常,我需要具有以下特征的解决方案:

  1. 播放一些乒乓动画一次的最简短和优雅的方式。不是无限的!
  2. 使代码可重用。例如 - 将其设为 ViewModifier。
  3. 有办法在外部调用动画

我的代码:

import SwiftUI
import Combine

struct ContentView: View {
    @State var descr: String = ""
    @State var onError = PassthroughSubject<Void, Never>()

    var body: some View {
        VStack {
            BlurredTextField(title: "Description", text: $descr, onError: $onError)
            Button("Commit") {
                if self.descr.isEmpty {
                    self.onError.send()
                }
            }
        }
    }
}

struct BlurredTextField: View {
    let title: String
    @Binding var text: String
    @Binding var onError: PassthroughSubject<Void, Never> …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

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

标签 统计

swift ×3

swiftui ×2

slider ×1

xcode ×1

xcode8 ×1