SwiftUI 和 iOS 15 中的新功能:LocationButton

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI 和 iOS 15 中的新功能:LocationButton相关的知识,希望对你有一定的参考价值。

参考技术A 用户的位置可能是在通知之后最常寻求的许可,但它也是最敏感的信息。多年来,Apple 投入了大量时间来确保用户的信息不会在他们不知情的情况下共享。
这也意味着当应用程序需要用户的位置权限时,他们必须跳过许多圈才能使其成为可能。当应用程序在很大程度上依赖位置(例如基于地图的应用程序)时,值得花时间,但是对于只需要一次位置权限的应用程序呢:
也许您正在对表单进行数字签名,并且出于法律原因,您的应用程序想要捕获表单签名的用户位置
或者获取一次您的位置,以便与您的朋友分享,您将在公园或音乐会上见面。苹果在ios中15推出LocationButton两个SwiftUI和UIKit的。我们将在本文中讨论 SwiftUI 的 LocationButton。
LocationButton 使请求一次性位置授权变得容易。当用户点击按钮时,应用程序请求一次性临时访问用户的位置数据。用户将看到如下所示的权限对话框:

如何更改 SwiftUI 和 iOS 14 中的单元格背景颜色?

【中文标题】如何更改 SwiftUI 和 iOS 14 中的单元格背景颜色?【英文标题】:How do I change the cell backgroundcolor in SwiftUI and iOS 14? 【发布时间】:2020-10-01 00:41:49 【问题描述】:

在我的 iOS 应用程序中,我有 SwiftUI 列表。在 iOS 14 之前,将其放入 AppDelegate 可以改变单元格的背景颜色:

UITableViewCell.appearance().backgroundColor = .black

在 iOS 14 之后,这不再改变颜色,它已恢复为默认的白色。

这也不起作用:

UITableViewCell.appearance().backgroundConfiguration?.backgroundColor = .black

在 iOS 14 的 SwiftUI 中是否有另一种方法可以更改 UITableViewCell 的颜色?

【问题讨论】:

【参考方案1】:

您需要对单元格使用 listRowBackground 修饰符,并且仍然可以为整个表格视图背景使用外观,如下例所示

使用 Xcode 12 / iOS 14 测试

init() 
    UITableView.appearance().backgroundColor = UIColor.yellow

var body: some View 
    List 
        ForEach(0..<5, id: \.self) 
            Text("Hello \($0)").foregroundColor(.blue)
        .listRowBackground(Color.black)
    

【讨论】:

这成功了!有没有办法改变分隔符的颜色?

以上是关于SwiftUI 和 iOS 15 中的新功能:LocationButton的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI捕获键盘提交动作在iOS15之前和之后的兼容实现

iOS 15 中的 SwiftUI .searchable - .navigationBarDrawer(displayMode: .always)

Objective-C依然占C位,Swift和SwiftUI在iOS 15中的使用情况

iOS 15.0+ 中 SwiftUI 顶部或底部悬浮功能小面板的极简实现

iOS 15.0+ 中 SwiftUI 顶部或底部悬浮功能小面板的极简实现

SwiftUI 自定义选取器标签未呈现