2015-11-21 82 views
2

的UITextField占位设置字体我用下面的代码为UITextField的文本(16)和占位符(9)设定不同的字体,用于迅速

m_searchTextField.font = UIFont .systemFontOfSize(16) 
let font = UIFont .systemFontOfSize(9) 
let attributes = [ 
     NSForegroundColorAttributeName: UIColor.lightGrayColor(), 
     NSFontAttributeName : font] 

m_searchTextField.attributedPlaceholder = NSAttributedString(string: "Search String be in meddle left", 
     attributes:attributes) 

字体大小设置正确,但占位符文本集在文本字段中稍高一些。

enter image description here

我怎样才能解决这个问题?有什么建议么?

+0

http://stackoverflow.com/questions/27652227/text-view-placeholder-swift/28271069#28271069 – clearlight

回答

2

我以编程方式解决了这个问题,因为我找不到任何其他方法来修复它。下面

代码:

class ViewController: UIViewController { 

    @IBOutlet weak var textField: UITextField! 
    var placeholder : UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     placeholder = UILabel(frame: CGRect(x: 0, y: 0, width: textField.bounds.width, height: textField.bounds.height)) 
     placeholder.text = "Search String be in meddle left" 
     placeholder.font = UIFont.italicSystemFontOfSize(9) 
     placeholder.textColor = UIColor.grayColor() 
     placeholder.hidden = !textField.text!.isEmpty 
     placeholder.textAlignment = .Center 
     textField.addSubview(placeholder) 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    @IBAction func textField_EditingChanged(sender: AnyObject) { 
     placeholder.hidden = !textField.text!.isEmpty 
    } 
}