小编Fli*_*orp的帖子

更改 SwiftUI 中 tabItems 中图像(图标)的颜色

如何更改 SwiftUI 中 tabItems 中图像(图标)的颜色?

我尝试了很多东西,但没有任何作用......

谢谢

这是我的测试代码:

import SwiftUI

struct TestTabviewIconColor: View {

    var body: some View {
        TabView {
            Text("The First Tab")
                .tabItem {
                    Image(systemName: "1.square.fill")
                        .foregroundColor(.red)
                        .accentColor(.red)
                        .colorMultiply(.red)
                    Text("First")
            }
            Text("Another Tab")
                .tabItem {
                    Image(systemName: "2.square.fill")
                    Text("Second")
                }
            Text("The Last Tab")
                .tabItem {
                    Image(systemName: "3.square.fill")
                    Text("Third")
                }
        }
        .font(.headline)
    }
}

struct TestTabviewIconColor_Previews: PreviewProvider {
    static var previews: some View {
        TestTabviewIconColor()
    }
}

Run Code Online (Sandbox Code Playgroud)

xcode tabitem tabview swiftui

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

自 iOS 14 起在 swiftui 中使用导航栏项时如何修复列表奇怪的填充?

从 iOS 14 开始,我有一个奇怪的行为,我在添加 navigationBarItems 后立即在 NavigationView 中的列表周围填充...

我的代码:

import SwiftUI

struct TestList: View {
  var body: some View {
    NavigationView{
      List {
        Text("hello world")
        Text("hello world")
        Text("hello world")
      }
      .navigationBarTitle(Text("Test List"), displayMode:.inline)
      .navigationBarItems(leading:
                            Image(systemName: "bell")
      )
    }
  }
}

struct TestList_Previews: PreviewProvider {
  static var previews: some View {
    TestList()
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

谢谢

navigationview swiftui navigationbaritems ios14

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

如何在 iOS 15 Xcode 13 中将 TabView tabItem 上的填充图标更改为不填充?

如何将 iOS 15 Xcode 13 中的 TabView tabItem 上的填充图标更改为不填充?

现在看来图标是默认填充的......

我的代码:

import SwiftUI

struct Test_Home_V: View {
    var body: some View {
        TabView {
            HomeList_V()
                .tabItem {
                    Label("_HomeTitle", systemImage: "house")
                }
...

Run Code Online (Sandbox Code Playgroud)

注意:从 iOS 15 开始,您不应明确请求 SF Symbols 图标的填充变体,因为系统会根据需要自动使用它们。

那么我怎样才能像以前一样得到我的图标(SF符号)的轮廓呢?

谢谢

xcode icons ios tabview sf-symbols

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

如何使用 AdMob 横幅消除消息“'windows' 在 iOS 15.0 中已弃用:在相关窗口场景上使用 UIWindowScene.windows”?

我想摆脱我的函数中的“‘windows’在 iOS 15.0 中已弃用:在相关窗口场景上使用 UIWindowScene.windows”消息(顺便说一下,我的函数运行得很好。)。

涉及的代码行:

banner.rootViewController = UIApplication.shared.windows.first?.rootViewController
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我的职能:

struct AdView : UIViewRepresentable {
    func makeUIView(context: UIViewRepresentableContext<AdView>) -> GADBannerView {
        let banner = GADBannerView(adSize: kGADAdSizeBanner)
        banner.adUnitID = "ca-app-pub-3940256099942544/2934735716" // test ad
                banner.rootViewController = UIApplication.shared.windows.first?.rootViewController
        banner.load(GADRequest())
        return banner
    }
    
    func updateUIView(_ uiView: GADBannerView, context: UIViewRepresentableContext<AdView>) {}
}
Run Code Online (Sandbox Code Playgroud)

我尝试过,但它不起作用:

banner.rootViewController = UIApplication.shared.connectedScenes.first?.rootViewController
Run Code Online (Sandbox Code Playgroud)

谢谢

admob rootviewcontroller swiftui uiwindowscene

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

以简单的方式在 SwiftUI 中为 TabView tabItem 添加徽章值

是否可以以简单的方式在 SwiftUI 中为 TabView tabItem 添加徽章值?

像这样(这里是普通的 Swift):

import UIKit

class TabBarController: UITabBarController {

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    self.tabBar.items![2].badgeValue = "7"
}

}
Run Code Online (Sandbox Code Playgroud)

谢谢

xcode tabitem tabview swiftui

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

ObservableObject 与 NWPathMonitor

我尝试使 NWPathMonitor 成为一个可观察对象,如果有网络连接则返回 true,如果没有网络连接则返回 false。

你能帮助我吗,因为我的解决方案不起作用。

谢谢

import Foundation
import Network

class TestNetStatus: ObservableObject {

    let monitor = NWPathMonitor()
    let queue = DispatchQueue.global(qos: .background)

    @Published var connected: Bool = false
    private var isConnected: Bool = false

    init() {
        monitor.start(queue: queue)

        monitor.pathUpdateHandler = { path in
            if path.status == .satisfied {
                self.isConnected = true
            } else {
                self.isConnected = false
            }
        }

        self.connected = isConnected
    }
}

Run Code Online (Sandbox Code Playgroud)

swiftui observableobject

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

如何在 SwiftUI 和 iOS 14 中向领先的导航栏项添加徽章?

如何navigationBarItems在 SwiftUI 和 iOS 14 中添加徽章?

我在网上找不到任何东西...

例如,我想在开头添加一个徽章navigationBarItems

var body: some View {
    NavigationView {
        ZStack {
            VStack(spacing: 0) {
                Text("Peanut")
                    .padding(-10)
                    .navigationBarTitle(Text("HomeTitle"), displayMode: .inline)
                    .navigationBarItems(leading:
                        HStack {
                            NavigationLink(destination: Notifications()) {
                                Image(systemName: "bell")
                                    .font(.system(size: 20))
                            }.foregroundColor(.white)
                        }, trailing:
                        HStack {
                            NavigationLink(destination: Settings()) {
                                Image(systemName: "gearshape")
                                    .font(.system(size: 20))
                            }.foregroundColor(.white)
                        })
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

badge ios swift swiftui navigationbaritems

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

在Swift 4中用一根手指旋转

我创建了一个UIGestureRecognizer以仅用一根手指即可旋转视图。

视图从一开始就旋转,但是一旦达到一定程度,旋转就会沿另一个方向旋转。

您能帮我提供我的代码吗?

UIViewcontroller <-一切都很好

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    let wheel = TestWheelView()
    wheel.frame = CGRect.init(x: self.view.center.x - 120, y: self.view.center.y - 120, width: 240, height: 240)
    self.view.addSubview(wheel)
    wheel.addGestureRecognizer(TestRotateGestureRecognizer())
}
Run Code Online (Sandbox Code Playgroud)

UIGestureRecognizer <-问题在这里

import UIKit

class TestRotateGestureRecognizer: UIGestureRecognizer {
    var previousPoint = CGPoint()
    var currentPoint = CGPoint()
    var startAngle = CGFloat()
    var currentAngle = CGFloat()
    var currentRotation = CGFloat()
    var totalRotation = CGFloat()

    func angleForPoint(_ point:CGPoint) -> CGFloat{
        var angle = …
Run Code Online (Sandbox Code Playgroud)

rotation uigesturerecognizer ios swift

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

如何在 SwiftUi (iOS 15 / Xcode 13.2.1) 的 AppDelegate 中使用我的 @EnvironmentObject?

我有一堂课:

class AppInfos_M: ObservableObject {
    @Published var currentUser: User_M = User_M()
    @Published var userTo: User_M = User_M()
}
Run Code Online (Sandbox Code Playgroud)

我声明它main并传递到我的视图environmentObject

...

@main
struct TestApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    
...

    @StateObject var appInfos_M = AppInfos_M()
    
    var body: some Scene {
        WindowGroup {
            LaunchScreen_V()
                .environmentObject(appInfos_M)
...
 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该课程在我的应用程序中运行得非常好。现在我需要从 修改它AppDelegate,因为我需要appInfos_M.userTo.id在收到通知时获取。我尝试了几件事,但没有一个有效。我怎样才能访问它?

在我需要它的所有视图中,我声明这种方式并且它工作正常,但不是在AppDelegate,为什么?:

 @EnvironmentObject var appInfos_M: AppInfos_M
Run Code Online (Sandbox Code Playgroud)

这是我尝试过但不起作用的测试之一:

...

class AppDelegate: NSObject, UIApplicationDelegate { ... }

...

@available(iOS 10, *)
extension AppDelegate : …
Run Code Online (Sandbox Code Playgroud)

ios appdelegate swiftui environmentobject

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