如何使用fontAwesome将自定义图标添加到Swift 4中的UIbutton

hus*_*mad 5 xcode uifont ios font-awesome swift

我目前正在使用IOS应用程序,我想使用FontAwesome添加按钮标签或图标我已经在项目中成功安装了cocoapods,现在我不知道要使用cocoapods添加库FontAwesome(更多信息:- 在此处输入链接描述) IOS应用程序中的图标。

  • 我需要了解使用cocoapods添加FontAwesome的过程,并且
  • 我需要知道他们是否是将FontAwesome添加到我的项目的另一种方法

谢谢

Kam*_*had 7

在 iOS 应用程序中有很多使用字体真棒图标的方法。您可以根据自己的理解和舒适度选择退出其中任何一项。

方法一:

编写自己的逻辑

  • 将字体真棒文件添加到您的编译源中并确保正确添加(见附图)
  • 保留任何字体真棒图标的 Unicode 字符串(在示例代码中,我采用了关闭图标参考。它的字体真棒类和 Unicode 文本分别是fa-closef00d参见示例代码)。就我而言,我有一个类,我拥有所有font awesome 图标字符串和另一个接受 font awesome 类字符串并返回适当的 Unicode 字符串的类。
  • 使用该 Unicode 字符串创建一个属性字符串并将其设置为 attributesText 属性(请参阅下面的示例代码)。

你可以在这里搜索你想要的字体真棒字符串和 Unicode

你的字体真棒文件看起来像这样

确保这些字体真棒文件添加到您的构建阶段源

代码示例

第1步

在这个例子中,我创建了一个返回 Unicode 字符串的扩展。

 extension String {

     func fontAwesomeString(name: String) -> String {

         switch name {
         case "fa-close":
            return "\u{f00d}"
         default: // manage exhaustive case accordingly
         }
      } 
 }
Run Code Online (Sandbox Code Playgroud)

第2步

通过传递适当的字体真棒字符串来调用上面的方法。

let iconUnicodeText = String.fontAwesomeString(name: "fa-close")
let iconAttributed = NSMutableAttributedString(string: iconUnicodeText)
self.iConLabel.attributedText = iconAttributed // iConLabel is a control type of UIlabel.
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想组织您的源代码,您可以直接使用 Unicode 创建一个属性字符串并设置为属性文本属性。

注意:您可能需要在上面的代码片段中进行更改。正如我为 Swift 4.0 所写

方法二:

使用可可豆荚

安装 pod 库后,您可以调用示例中显示的相应方法,如下所示

yourButton.titleLabel?.font = UIFont.fontAwesome(ofSize: 30, style: .brands) 
yourButton.setTitle(String.fontAwesomeIcon(name:. gitgub), for : .normal) // you may change icon type with your desired one
Run Code Online (Sandbox Code Playgroud)


V D*_*hit 1

使用如下:-

Step1:添加框架如下图所示 在此输入图像描述

第 2 步:将所有 .otf 和 .swift 文件拖放到您的项目中第 3 步:导入 FontAwesome_swift 第 4 步:使用以下代码:-

let imageView  = UIImageView(frame: CGRect(x: 80.0, y: 80.0, width: 50, height: 50))
imageView.image = UIImage.fontAwesomeIcon(name: .github, style: .brands, textColor: .black, size: CGSize(width:40,height:40))
self.view.addSubview(imageView) 
Run Code Online (Sandbox Code Playgroud)

结果:-

在此输入图像描述