Мне нужно добавить текстовый водяной знак на изображение. Высота текста зависит от высоты изображения. Теперь я знаю высоту изображения и высоту текста. Как узнать размер шрифта текста? Короче, как определить размер шрифта текста по высоте? Теперь мое решение заключается в следующем. У кого-нибудь есть способ получше? Спасибо !!!
/// - Parameter height: target height for font
func textFontSize(from height: CGFloat) -> CGFloat {
var fontSize: CGFloat = 30
var textFont = UIFont.systemFont(ofSize: fontSize)
while (textFont.lineHeight < (height * 4 / 5) ||
textFont.lineHeight > height){
//decrease font size
if textFont.lineHeight > height {
fontSize = fontSize - 0.5
// increase
}else if textFont.lineHeight < (height * 4 / 5) {
fontSize = fontSize + 0.5
}
textFont = UIFont.systemFont(ofSize: fontSize)
}
return fontSize
}