小编let*_*way的帖子

多行导航栏标题在 iOS13 上被截断

我有一个视图控制器,我需要在导航栏上显示多行标题。为此,我写了一个这样的协议 -

import UIKit

protocol CustomNavigationBar {
    func setupNavigationMultilineTitle(titleText: String, prefersLargeTitles: Bool, largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode)
}
Run Code Online (Sandbox Code Playgroud)

然后扩展它——

extension CustomNavigationBar where Self : UIViewController {

    func setupNavigationMultilineTitle(titleText: String, prefersLargeTitles: Bool = true, largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode = .automatic ) {

        self.navigationController?.navigationBar.prefersLargeTitles = prefersLargeTitles
        self.navigationController?.navigationItem.largeTitleDisplayMode = largeTitleDisplayMode
        self.navigationController?.navigationBar.largeTitleTextAttributes = [
            NSAttributedString.Key.foregroundColor: UIColor.black,
            NSAttributedString.Key.font: UIFont.systemFont(ofSize: 18, weight: .semibold)
        ]
        self.title = titleText

        if let navBarSubViews = self.navigationController?.navigationBar.subviews {
            for navItem in navBarSubViews {
                for itemSubView in navItem.subviews {
                    if let largeLabel = itemSubView as? UILabel { …
Run Code Online (Sandbox Code Playgroud)

uinavigationbar ios large-title preferslargetitles ios13

8
推荐指数
0
解决办法
732
查看次数

FIDO2 url 包含哪些信息以及我们如何在 Swift 中对其进行解码?

在 WWDC 2022 上,Apple 推出了 Passkeys GA,它将在 FIDO2 身份验证中启用,这是取代密码的下一代基于开放标准的身份验证机制。

在支持 FIDO2 的依赖方 (RP) 服务器上,当发起用户注册时,浏览器会生成二维码以将手机注册为平台身份验证器。

我正在尝试构建一个打开 QR 扫描仪视图的应用程序,并且我想通过扫描浏览器生成的 QR 码来注册 FIDO 凭证。解析后的字符串格式为 - FIDO:/090409094349049349.......

这个 FIDO:/090409094349049349....... url 协议包含哪些与 RP 相关的信息?另外,有没有办法在 Swift 中对其进行解码,以获取 json 或字符串格式的信息?

由于 iPhone 上的相机应用程序能够扫描 QR 并生成 RP 域名和注册用户等信息,我相信也应该有一种方法可以通过应用程序内的 QR 扫描仪来执行此操作。或者这些 API 本质上是私有的,仅供相机应用程序使用吗?

authentication ios swift webauthn fido

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