小编use*_*832的帖子

navigationBarHidden() 在 iOS 15 Beta SwiftUI 中不起作用

我试图隐藏第三个选项卡上的导航栏,但对于其余选项卡,它应该显示。它在 iOS 14 中工作正常,但在 iOS 15 中修改器随机工作。一旦我开始在选项卡之间切换,导航栏也开始显示在第三个选项卡上。下面是我的 SwiftUI 文件代码

注意:这只是我的应用程序的更复杂代码设置的简单表示。Xcode:12.5.1 设备:XR(iOS 15 beta)

import SwiftUI

struct TestView: View {
    
    @State var selectedTab: TabType = .home
    
    var body: some View {
        NavigationView {
            TabView(selection: $selectedTab) {
                ForEach(TabType.allCases, id: \.self) { tabType in
                    switch tabType {
                    case .profile:
                        ThirdView()
                            .navigationBarHidden(true)
                            .tag(tabType)
                            .tabItem {
                                Label(tabType.title, systemImage: "plus")
                            }
                    default:
                        SecondView()
                            .tag(tabType)
                            .tabItem {
                                Label(tabType.title, systemImage: "star")
                            }
                    }
                }
            }
        }
    }
}

struct SecondView: View {
    
    var body: some View { …
Run Code Online (Sandbox Code Playgroud)

swift swiftui ios15

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

SwiftUI - 隐藏视图时的动画

在视图中的一组主体中显示或隐藏视图时,我试图用 SwiftUI 找出动画。我有这个代码:

    var body: some View {

        Group {

            if isIntroShown {
                EAIntroViewContentView()
                .transition(AnyTransition.opacity.animation(.easeInOut(duration: 1.0)))
            }

            if mainhomeMode == .mylists {
                MyLists()
                    .onReceive(publisher) { (payload) in
                        self.toggleMainView()
                    }
            } else {
                CarsHome()
                    .onReceive(publisher) { (payload) in
                        self.toggleMainView()
                    }
            }

        }.onReceive(publisherIntro) { (payload) in
            self.onShowIntroButton()
        }
    }
Run Code Online (Sandbox Code Playgroud)

当 hidden 时EAIntroView,过渡动画正常工作,但块弹出并mainhomeMode没有动画向上移动到窗口顶部。如何隐藏和显示介绍视图使隐藏/显示事件平滑?

ios swift swiftui

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

TableView 重新加载不适用于 SwiftUI 中的 UIViewRepresentable

我正在尝试在收到 API 响应后重新加载 tableView。TableView 重新加载不会调用,cellForRowAt因为最初它是用空项目初始化的。我已经添加了复制该问题所需的最少代码。

代码为UIViewRepresentable

import SwiftUI
import UIKit

struct UIListView: UIViewRepresentable {
    
    @Binding var reload: Bool
    
    var items: [String]
    private let tableView =  UITableView()
    
    func makeUIView(context: Context) -> UITableView {
        print("*************** make")
        tableView.dataSource = context.coordinator
        return tableView
    }
    
    func updateUIView(_ uiView: UITableView, context: Context) {
        print("*************** update", items.count)
        print("********* RELOAD", reload)
        if reload {
            DispatchQueue.main.async {
                //                uiView.reloadData()
                //                tableView.reloadData()
                context.coordinator.reload()
            }
        }
    }
    
    func makeCoordinator() -> Coordinator {
        Coordinator(self)
    }
}

extension UIListView { …
Run Code Online (Sandbox Code Playgroud)

uitableview swiftui uiviewrepresentable

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

标签 统计

swiftui ×3

swift ×2

ios ×1

ios15 ×1

uitableview ×1

uiviewrepresentable ×1