Нет особо очевидного способа сделать это. Вы можете итеративно изменять размер шрифта до тех пор, пока не найдете правильный шрифт, но он немного запутанный (к счастью, поплавков не так много, поэтому вы можете сделать это достаточно точно в 31 испытании с разбивкой по интервалам).
С другой стороны, если вы предполагаете, что масштабирование линейно масштабируется с размером шрифта, вы можете просто сделать это:
UIFont * f = [UIFont fontWithName:... size:1];
f = [f fontWithSize:ascender/f.ascender];