Как изменить размер иконки SF в UIButton - PullRequest
2 голосов
/ 21 января 2020

Очень простой вопрос здесь. Я хотел бы изменить размер иконки SF в UIButton. Я пытался сделать это 20 способов в среду.

  1. Я попытался установить EdgeInsets - без кубиков
  2. Я попытался сбросить contentMode кнопки imageView - не сдвинулся с места
  3. Попытался изменить размер шрифта изображение - wut?

Должен быть простой способ сделать это. Заранее спасибо.

1 Ответ

2 голосов
/ 21 января 2020

Обновление: Похоже, вы можете использовать настройки Default Symbol Configuration на кнопке UIB в Attributes Inspector, чтобы выполнить sh то же самое. Все кредиты Эндрю Кирна ниже. Спасибо, чувак!

enter image description here


Удачи !!! Я наконец-то понял, как это сделать, благодаря отличной статье о SF Symbols. Это было, конечно, похоронено там.

Было бы действительно здорово изменить размеры изображений кнопок в раскадровке, не так ли? По крайней мере, я так думал.

1) Добавьте IconButton.swift в свой проект в Xcode.

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) Go для инспектора идентификации и сделайте класс вашей кнопки IconButton

4) Go для инспектора атрибутов и введите размер своей точки. Обратите внимание, что это height of the icon х 3/4. Я хотел иконку 40 x 40, поэтому размер моей точки был 30.

5) Смотрите обновление вашей иконки в раскадровке и радостно смеетесь, что вы не потратили 3 часа, чтобы понять это: D

Некоторая благодарность великой статье: https://www.avanderlee.com/swift/sf-symbols-guide/

...