PKAddPassButton文字和图标太大

时间:2017-02-22 15:17:35

标签: ios swift passkit

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

enter image description here

如果将它与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
    }
}

1 个答案:

答案 0 :(得分:3)

奇怪的是,尺寸开始是错误的。我确认更改按钮的框架不会调整标签或图标的大小。

可能最好的选择是对按钮应用缩放变换。这可行:

    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)

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