小编Moh*_*d S的帖子

更新后无法构建项目

自动更新到10.2.1之后, Xcode现在无法构建任何东西。并记录此错误

无法找到或创建描述“ IBCocoaTouchFramework-ElevenAndLater scaleFactor = 2x的系统内容”的执行上下文。这些中间对象不是nil :(“” IBSimDeviceTypeiPad2x

展示它在.storyboard文件中

我删除了派生数据,并尝试使用旧版构建系统,但没有运气

xcode ios

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

如何在列表中更改ListStyle

在SwiftUI中List似乎有一个名为的属性ListStyle

我如何更改列表的样式

struct ListView : View {
var body: some View {
    NavigationView {
    List(Item.create().identified(by: \.id)){ row in
        NavigationButton(destination: DetailsView(item: row)) {
            RowView(item: row)
        }
    }
    .listStyle(StaticMember<PlainListStyle.Member>.self) // error here
    .foregroundColor(.red)
    .navigationBarTitle(Text("List View"))
    .statusBar(hidden: false)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

ListStyle协议的遵守方是

  1. CarouselListStyle
  2. DefaultListStyle
  3. GroupedListStyle
  4. PlainListStyle
  5. 边栏列表样式

但是我正在努力尝试使用这样的清单设置新样式

.listStyle(StaticMember<PlainListStyle.Member>.self)
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但是每种样式都向ListStyle结构确认,就像它们不是枚举值一样

任何人都有一个想法如何改变风格List

Xcode中的错误

无法将类型“ StaticMember.Type”(也称为“ StaticMember> .Type”)的值转换为预期的参数类型“ StaticMember <_>”

使用: .listStyle(StaticMember<PlainListStyle.Member>)

Xcode中的错误

无法将类型'(StaticMember).Type'(又名'StaticMember> .Type')的值转换为预期的参数类型'StaticMember <_>'

使用:.listStyle(StaticMember<PlainListStyle()>).listStyle(StaticMember<PlainListStyle.self>)

Xcode中的错误

'>'不是后缀一元运算符

ios swift swiftui

8
推荐指数
2
解决办法
2545
查看次数

什么是默认线程

在 中iOS,我们有GCDOperation来处理并发编程。

寻找到GCD我们QoS班,他们是简单和直接的,这个问题是关于为什么DispatchQueue.main.async通常用于asynchronies X任务中Main Thread

因此,当我们通常处理更新中的某些内容时,UI我们通常会使用该函数来防止应用程序出现任何无响应。

让我觉得是在UIViewController通常在主线程中执行的内部编写代码?

但也知道callback & completionHandler通常在不指定它们所在线程的情况下执行,并且UI 从来没有遇到过问题!所以它是背景?

斯威夫特如何处理这个?默认情况下,我在什么线程上写入而没有指定任何内容?

multithreading ios swift

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

导航栏中从大标题到小标题的切换不流畅iOS 13

我的UINavigationController默认值为navigationBar.prefersLargeTitles = true

我将其切换为false当我push 进入新场景时DetailsViewController,通过将其更改为来调用它()viewWillDisappear

override func viewWillDisappear(_ animated: Bool) {
   super.viewWillDisappear(animated)
   navigationController?.navigationBar.prefersLargeTitles = false
}
Run Code Online (Sandbox Code Playgroud)

现在DetailsViewController我正在使用willMove(to parent:)

override func willMove(toParent parent: UIViewController?) {
        navigationController?.navigationBar.prefersLargeTitles = true
}
Run Code Online (Sandbox Code Playgroud)

过渡回大标题。

考虑到iOS 12是正确的行为,请观察所附的iOS 13的快照与iOS 12的快照。

iOS 13

iOS 13

iOS 12

iOS 12

uinavigationbar uinavigationcontroller ios swift

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

如何从 NavigationController 中的 SwiftUI 视图推送到 UIViewController

我有一个从场景委托实例化的SwiftUI ViewUINavigationController 我想UIViewControllerSwiftUI推送到另一个 View

My Scene Delegate 显示了 myView是如何实例化的:

    let vc = UIHostingController(rootView:SwiftUIView())
    let navigationControll = UINavigationController(rootViewController: vc)
    self.window?.rootViewController = navigationControll
    // Present window to screen
    self.window?.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

uinavigationcontroller ios swift swiftui

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

如何增加活动指示器的大小

我是IOS开发的新手。我创建了一个UIWebView.

当应用程序启动时,我实现了加载器。

现在我希望加载器的尺寸更大一些,并带有一些背景图像。

我的代码是这样的:

    private var loadingObservation: NSKeyValueObservation?

    private lazy var loadingIndicator: UIActivityIndicatorView = {
        let spinner = UIActivityIndicatorView()
        spinner.translatesAutoresizingMaskIntoConstraints = false

        spinner.color = .black

        return spinner
    }()

override func viewDidLoad() {
        super.viewDidLoad()

        loadingObservation = webView.observe(\.isLoading, options: [.new, .old]) { [weak self] (_, change) in
            guard let strongSelf = self else { return }

            // this is fine
            let new = change.newValue!
            let old = change.oldValue!

            if new && !old {
                strongSelf.view.addSubview(strongSelf.loadingIndicator)
                strongSelf.loadingIndicator.startAnimating()
                NSLayoutConstraint.activate([strongSelf.loadingIndicator.centerXAnchor.constraint(equalTo: strongSelf.view.centerXAnchor),
                                             strongSelf.loadingIndicator.centerYAnchor.constraint(equalTo: strongSelf.view.centerYAnchor)])
                strongSelf.view.bringSubviewToFront(strongSelf.loadingIndicator) …
Run Code Online (Sandbox Code Playgroud)

xcode loader ios swift

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

从另一个 vc 重新加载 vc 表视图支持的最佳方法

我正在尝试在计算控制器中重新加载表格视图,按设置控制器上的后退导航按钮(屏幕截图上的红色箭头)。

哪种方法最好?谢谢 !

tableview navigationcontroller ios segue swift

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