【问题标题】:How to change the size of an SF icon in a UIButton如何更改 UIButton 中 SF 图标的大小
【发布时间】:2020-01-21 04:08:35
【问题描述】:

这里的问题很简单。我想更改 UIButton 中 SF 图标的大小。我已经尝试了 20 种方法到星期三。

  1. 我尝试设置 EdgeInsets - 没有骰子
  2. 我尝试重置 按钮的 imageView 的 contentMode - 不让步
  3. 试图更改图像的字体大小 - 哇?

必须有一个简单的方法来做到这一点。提前致谢。

【问题讨论】:

    标签: uibutton icons


    【解决方案1】:

    您可以使用Attributes Inspector 中UIButton 上的Default Symbol Configuration 设置来完成相同的操作。全部归功于下面的 Andrew Kirna。谢谢老哥!


    成功!!!多亏了 SF Symbols 上的 great article,我终于想出了如何做到这一点。它肯定被埋在那里。

    在情节提要中调整按钮图像的大小真的很好,不是吗?至少我是这么认为的。

    1. 在 Xcode 中将 IconButton.swift 添加到您的项目中。

      import UIKit
      
      @IBDesignable
      class IconButton: UIButton {
          @IBInspectable var pointSize:CGFloat = 30.0
      
          override func layoutSubviews() {
              super.layoutSubviews()
              if #available(iOS 13.0, *) {
                  let config = UIImage.SymbolConfiguration(pointSize: pointSize)
                  setPreferredSymbolConfiguration(config, forImageIn: .normal)
              } else {
                  // Fallback on earlier versions
              }
          }
      }
      
    2. 在情节提要中创建一个带有 SF 图标作为图像的按钮。

    3. 转到身份检查器并创建按钮 IconButton 的类

    4. 转到属性检查器并输入您的磅值。请注意,这是height of the icon x 3/4。我想要一个 40 x 40 的图标,所以我的磅值是 30。

    5. 在故事板中看到你的图标更新,并高兴地笑你没有花 3 个小时来解决这个问题:D

    感谢这篇精彩的文章:https://www.avanderlee.com/swift/sf-symbols-guide/

    【讨论】:

    • 谢谢罗伯。好发现!我在“属性检查器”中使用 UIButton 上的“默认符号配置”设置来完成同样的事情。它不会在情节提要中更新,但会在运行时工作。
    【解决方案2】:

    这对我有用(如果你想以编程方式):

    let config = UIImage.SymbolConfiguration(
        pointSize: 32, weight: .medium, scale: .default)
    let image = UIImage(systemName: "magnifyingglass", withConfiguration: config)
    button.setImage(image, for: .normal)
    

    【讨论】:

      猜你喜欢
      • 2020-06-23
      • 1970-01-01
      • 2022-01-21
      • 2019-11-10
      • 2020-02-03
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多