带FontAwesome的UITextField

时间:2017-07-21 17:04:56

标签: ios swift uitextfield font-awesome

我正在尝试将FontAwesome搜索图标放入UITextField。这不起作用,因为FontAwesome和文本字段的实际占位符是两种不同的字体(这是我猜的至少)。 这就是它目前的样子:

searchField.placeholder = String.fontAwesomeIcon(name: .search) + " Enter country or city"
searchField.font = UIFont.systemFont(ofSize: 14)

有什么方法可以实现吗?

2 个答案:

答案 0 :(得分:0)

我也必须做同样的事情,我这样做(没有使用占位符):

Swift 2

在viewDidLoad方法中:

 textField.delegate = self

 textField.font = UIFont.fontAwesomeOfSize(16)
 textField.text = String.fontAwesomeIconWithName(FontAwesome.Search)
 textField.textColor = UIColor.grayColor();

在委托方法中:

func textFieldDidBeginEditing(textField: UITextField) {
    textField.font = UIFont(name: "YOUR FONT", size: 16.0)
    textField.text = ""
    textField.textColor = UIColor.blackColor();
}
func textFieldDidEndEditing(textField: UITextField) { 
    if(textField.text == "") {
        textField.font = UIFont.fontAwesomeOfSize(16)
        textField.text = String.fontAwesomeIconWithName(FontAwesome.Search)
        textField.textColor = UIColor.grayColor();
    }
}

答案 1 :(得分:0)

如果使用FontAweSome字体而不是系统字体,字体真棒图标和占位符字符串将一起使用。

以下示例代码:

searchField.font = UIFont.fontAwesome(ofSize: 14)
searchField.placeholder = String.fontAwesomeIcon(name: .search) + " Enter country or city"