I use NSAttributedString to generate a string with two different sizes. By default, its bottom alignment looks like this:
Better solution is calculating NSBaselineOffsetAttributeName from fonts typography (short article https://www.raizlabs.com/dev/2015/08/advanced-ios-typography/)
Set attribute for second part of attributed string.
secondPartAttributes[NSBaselineOffsetAttributeName] = @((firstFont.xHeight - secondFont.xHeight)/2);