1

当我将 PKAddPassButton 添加到任何项目时,文本和图标看起来异常大。我团队中的设计师看着它感到恶心,我不怪他们。为了证明这一点,我创建了一个空白项目,这就是按钮的外观:

在此处输入图像描述

如果将其与 Apple 示例(此处为第 3 页https://developer.apple.com/wallet/Add-to-Apple-Wallet-Guidelines.pdf)进行比较,则文本非常小。

代码非常少。我在故事板上有一个按钮,我从中获取我的 PKAddPassButton 的框架。

import UIKit
import PassKit

class ViewController: UIViewController {

    @IBOutlet weak var button: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()

        let pkButton = PKAddPassButton()
        view.addSubview(pkButton)
        pkButton.frame = button.frame
        button.isHidden = true
    }
}
4

1 回答 1

4

奇怪的是,尺寸一开始就错了。我验证了更改按钮的框架不会调整标签或图标的大小。

可能最好的选择是对按钮应用比例变换。这会起作用:

let scale = CGFloat(floatLiteral: 0.75)
pkButton.transform = CGAffineTransform(scaleX: scale, y: scale)

我不一定推荐这个,但我确实验证了您可以手动调整字体大小:

let label = pkButton.value(forKey: "singleLineLabel")! as! UILabel
let label2 = pkButton.value(forKey: "multiLineLabel")! as! UILabel
label.font = UIFont(name: label.font.fontName, size: 8)
label2.font = UIFont(name: label2.font.fontName, size: 8)

我没有尝试过这个图标,但我怀疑你可以做类似的事情。

于 2017-02-22T18:55:23.127 回答