相关疑难解决方法(0)

SwiftUI中的活动指示器

尝试在SwiftUI中添加全屏活动指示器。

我可以.overlay(overlay: )View协议中使用功能。

这样,我可以进行任何视图叠加,但是找不到的UIActivityIndicatorView等效于iOS默认样式SwiftUI

如何使用制作默认样式微调框SwiftUI

注意:这与在UIKit框架中添加活动指示器无关。

swift swiftui

24
推荐指数
6
解决办法
6269
查看次数

在回调,SwiftUI中以编程方式推送View

在我看来,Apple鼓励我们放弃UIViewController在SwiftUI中使用,但如果不使用视图控件,我会觉得有些无能为力。我想要的是能够实现某种ViewModel将事件发送给的功能View

ViewModel

public protocol LoginViewModel: ViewModel {
  var onError: PassthroughSubject<Error, Never> { get }
  var onSuccessLogin: PassthroughSubject<Void, Never> { get }
}
Run Code Online (Sandbox Code Playgroud)

查看

public struct LoginView: View {
  fileprivate let viewModel: LoginViewModel

  public init(viewModel: LoginViewModel) {
    self.viewModel = viewModel
  }

  public var body: some View {
    NavigationView {
      MasterView()
        .onReceive(self.viewModel.onError, perform: self.handleError(_:))
        .onReceive(self.viewModel.onSuccessLogin, perform: self.handleSuccessfullLogin)
    }
  }

  func handleSuccessfullLogin() {
    //push next screen
  }

  func handleError(_ error: Error) {
    //show alert
  } …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

6
推荐指数
2
解决办法
894
查看次数

标签 统计

swift ×2

swiftui ×2

ios ×1