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

标签 ios swift xcode font-awesome uifont

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

  • 我需要了解使用以下方法添加 FontAwesome 的过程 椰子类动物, 和
  • 我需要知道他们是否是将 FontAwesome 添加到我的项目的另一种方式

谢谢

最佳答案

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

方法一:

编写自己的逻辑

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

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

Your font awesome file looks like something similar to this

Make sure these font awesome file added to your build-phase source

代码示例

第一步

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

 extension String {

     func fontAwesomeString(name: String) -> String {

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

第二步

通过传递适当的 Font Awesome 字符串来调用上述方法。

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 所写的

方法 2:

使用 cocoa pod

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

关于ios - 如何在 swift 4 中使用 fontAwesome 将自定义图标添加到 UIbutton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53099258/

相关文章:

ios - 如何通过 Github API 上传图片以用于问题评论

ios - Cocoapods 和 ruby​​_executable_hooks : no such file or directory

swift - 如何将 Codable 协议(protocol)用于具有其他枚举作为关联值的枚举(嵌套枚举)

ios - 一次所有 View 的 NSNotification

ios - 将行添加到最后一个单元格的底部

ios - 使用 Autolayout Visual Format Language 将 UIViews 排成一行

ios - DidSelectRow 方法由于 tapGestureRecognizer 而被禁用

ios - 如何为 View Controller 的 View 设置多个位置状态?

swift - 如何在 Live Activity (ActivityKit) 中获取图像 - SwiftUI

ios - TableViewcell 内的按钮缺少警告尾随约束的正确方法是什么