更改UIButton内的SF符号大小 [英] Change a SF Symbol size inside a UIButton

查看:45
本文介绍了更改UIButton内的SF符号大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在声明一个这样的按钮:

I am declaring a Button like this :

let menuButton = UIButton()

在那之后,我试图更改它的参数,并借助具有以下功能的LBTATools(吊舱)在视图上设置他的位置:

After that I am trying to change it's parameter and set his position on the view with the help of LBTATools (a pod) with this function:

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 等所有常用方法进行更改.

Everything is working well, I get the right color, position and even size. Only problem is it's size, I cannot change it with all the usual methods like menuButton.imageView?.contentMode = .scaleAspectFit etc..

可能是因为它是SF符号而不是正常图像.

Probably it comes from the fact that it is a SF Symbol and not a normal image.

非常感谢某人的帮助.

谢谢

推荐答案

您可以使用SymbolConfiguration来实现,例如下面的示例代码

You can do it using SymbolConfiguration like sample code below

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

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

 button.setImage(largeBoldDoc, for: .normal)

这篇关于更改UIButton内的SF符号大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆