I have to program a see test for an optician. So they need that the Numbers are exactly have a specific height. He has a IPad ans streams it to a TV. I know i must consider the PPI of the TV. Here is my Code :
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()))
}
but when i measure off the lenght on the TV it is wrong. Normaly it must be 7.25mm but it is approximately 9mm. i dont know what is wrong. I search for this problem since 2 weeks...