Изменить размер символа SF внутри кнопки UIB - PullRequest
2 голосов
/ 11 марта 2020

Я объявляю кнопку следующим образом:

let menuButton = UIButton()

После этого я пытаюсь изменить ее параметр и установить его положение на виде с помощью LBTATools (модуля) с помощью этой функции:

fileprivate func setMenuButtonUI() {
        menuButton.setImage(UIImage(systemName: "line.horizontal.3.decrease.circle.fill"), for: .normal)
        view.addSubview(menuButton)
        menuButton.anchor(top: view.safeAreaLayoutGuide.topAnchor, leading: view.leadingAnchor, bottom: nil, trailing: nil, padding: .init(top: 20, left: 60, bottom: 0, right: 0), size: .init(width: 40, height: 40))
        menuButton.setupShadow(opacity: 1, radius: 5, offset: .zero, color: .darkGray)
        menuButton.tintColor = .red
    }

Все работает хорошо, я получаю правильный цвет, положение и даже размер. Единственная проблема - его размер, я не могу изменить его всеми обычными методами, такими как menuButton.imageView?.contentMode = .scaleAspectFit et c ..

Возможно, это связано с тем, что это символ SF, а не обычное изображение.

Помощь кого-то была бы очень признательна.

Спасибо

1 Ответ

5 голосов
/ 11 марта 2020

Вы можете сделать это, используя SymbolConfiguration, как пример кода ниже

 let largeConfig = UIImage.SymbolConfiguration(pointSize: 140, weight: .bold, scale: .large)

 let largeBoldDoc = UIImage(systemName: "doc.circle.fill", withConfiguration: largeConfig)

 button.setImage(largeBoldDoc, for: .normal)

enter image description here

...