我在一個格式爲0:00:00的視頻上有一個運行計時器。我希望字符1-9的寬度相同,以便在計時器更新時標籤不會四處移動。我從蘋果幻燈片中摘取了這段代碼,但我沒有運氣。除了「1」之外,每個角色似乎都是成比例的。我很難找到關於此的任何示例或文檔。我使用下面方法的返回值在UILabel上調用setFont
。我正在嘗試使用的字體是GothamNarrow-Book。我通過@「GothamNarrow-Book」到這個方法。如何修改字體屬性以使字體在iOS中成比例?
-(UIFont*) getProportionalFontForTimerWithFont:(NSString*)fontName WithRatio:(CGFloat) fontRatio{
UIFont *const existingFont=[UIFont fontWithName:fontName];
UIFontDescriptor *const existingDescriptor=[existingFont fontDescriptor];
NSDictionary *const [email protected]{
UIFontDescriptorFeatureSettingsAttribute:@[
@{
UIFontFeatureTypeIdentifierKey: @(kNumberSpacingType),
UIFontFeatureSelectorIdentifierKey:@(kProportionalNumbersSelector)
},
@{
UIFontFeatureTypeIdentifierKey: @(kCharacterAlternativesType),
UIFontFeatureSelectorIdentifierKey:@(1)
}]
};
UIFontDescriptor *const proportionalDescriptor=[existingDescriptor fontDescriptorByAddingAttributes:timeFeatureSettings];
UIFont* proportionalFont=[UIFont fontWithDescriptor:proportionalDescriptor size:[existingFont pointSize]];
return proportionalFont;
}
爲什麼不使用比例字體,比如'Menlo'? –
作爲設計決策,應用程序中隨處可以使用相同的字體。我也想在這裏使用它,但如果我無法弄清楚這一點,將不得不切換。 –
我認爲問題是字體可能沒有成比例的選擇。你使用哪種字體? –