Мне нужно запрограммировать тест для оптика. Поэтому им нужно, чтобы числа точно имели определенную высоту. У него есть IPad, и он передает его на телевизор. Я знаю, что я должен рассмотреть ИЦП телевизора. Вот мой код:показать точно Высота текста в 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