我必須爲眼鏡師編程查看測試。所以他們需要數字正好具有特定的高度。 他有一個IPad ans將它流式傳輸到電視機。我知道我必須考慮電視的PPI。這是我的代碼:在TextField中顯示文本的高度
func calcPoints() -> Float {
// he gives the Visus with a TextField
let visus = Float(textFieldVisus.text!)
// Here you put in the PPI of the device
let ppi = Float(textFieldDPI.text!)
// Calculate the lenght of the Number
let lenght = ((0.29 * 5)/visus!) * 5
// Calculate the Points (because TextFiels work with Points)
let points = ((ppi!/25.4) * lenght) * 0.75
// here you divide with 2 because you have a retina Display on the IPad
return (points/2)
}
func passeUIan() {
// Now i can give the Points to the TextField
textField1.bounds.size.width = CGFloat(calcPoints())
textField1.bounds.size.height = CGFloat(calcPoints())
textField1.font = UIFont(name: (textField1.font?.fontName)!, size: CGFloat(calcPoints()))
}
但是當我衡量在電視上的長度是錯誤的。通常它必須是7.25毫米,但大約是9毫米。 我不知道什麼是錯的。自2周後我搜索此問題...
設置字體的大小,不會給你顯示正確高度的數字。您需要知道字體的內部尺寸(例如,它的'capHeight'),以便選擇具有正確高度的字體大小。 – matt