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

how to add custom icons using fontAwesome to UIbutton in swift 4

我目前正在开发一个 IOS 应用程序,我想使用 FontAwesome 添加按钮标签或图标 我已经在我的项目中成功安装了 cocoapods,现在我不知道如何使用 cocoapods 添加库 FontAwesome(更多信息:-enter link description here) 我的 IOS 应用程序中的图标。

谢谢

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

方法一:

编写自己的逻辑

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

您可以搜索您想要的字体 awesome string 和 Unicode here

代码示例

步骤 1

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

 extension String {

     func fontAwesomeString(name: String) -> String {

         switch name {
         case "fa-close":
            return "\u{f00d}"
         default: // manage exhaustive case accordingly
         }
      } 
 }

步骤2

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

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

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

注意:您可能需要对以上代码片段进行更改。正如我为 Swift 4.0

所写

方法二:

使用 cocoa pods

安装 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

使用如下:-

第 1 步:添加如下图所示的框架

步骤 2:Drag 并将所有 .otf 和 .swift 文件放入您的项目 步骤 3:import 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) 

结果:-

我已经在 Objective C 中完成了此操作,希望对您有所帮助。程序相同,但您需要将 Objective C 代码转换为 Swift.

因此在 Objective C 中执行此操作, 您可以按照此 link 中提到的步骤手动将 FontAwesome 添加到您的项目中,而无需使用 CocoaPod,如果您有兴趣不使用 CocoaPod

Manually Add FontAwesome

从那个 Github 项目中取出 NSString 类别 class,即 NSString+FontAwesome

您还需要在资源文件夹中添加fontawesome-webfont.ttf

注意: 对我来说,在我添加上面提到的 NSString 类别 class 后出现错误 link,如果您遇到类似的问题重复定义然后重命名那些不满足变量命名约定的枚举常量。 (对我来说,一些枚举常量使用的是连字符(-),我用下划线(_)替换了它们)。

如果您还没有安装 CocoaPods,这些是很好的说明:

使用 CocoaPods 安装 FontAwesome:

  1. 打开与 .xcodeproj 文件位于同一文件夹中的 Podfile
  2. 将此行添加到 Podfile 以安装 FontAwesome.swift:pod 'FontAwesome.swift'
  3. 将更改保存到 Podfile
  4. 在包含 Podfile 和 运行 命令的文件夹中打开终端 pod install

如何使用 FontAwesome 图标:

在您的代码文件中添加import FontAwesome_swift

示例代码:

let image = UIImage.fontAwesomeIcon(name: .checkCircle, style: .solid, textColor: UIColor.black, size: CGSize(width: 40, height: 40))