Tag: uifont

系统字体“Hiragino Sans”显示剪切上行和下行

我需要在我的应用程序中使用iOS的系统字体“Hiragino Sans W3”,但无论select哪种尺寸/样式或UILabel的尺寸,字体的上行和下行总是出现剪切: 看来这可以通过创buildUILabel的子类和覆盖方法textRectForBounds:limitedToNumberOfLines:来textRectForBounds:limitedToNumberOfLines:返回“正确的”值。 所以下面的代码… – (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines { CGRect result = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines]; result = CGRectInset(result, 0, -5); return result; } …结果在上行和下行不再被剪辑了: 我知道也可以使用外部编辑器调整字体上升和下降位置。 但是这是一个系统字体 ,不应该没有任何修改正确的工作? 有什么我在这里失踪? 在此先感谢您的任何答案。

dynamic模拟iOSdynamictypes系统文本大小(UIContentSizeCategory)

我想用系统文本大小的不同select轻松地testing我的应用程序,包括可访问性大小。 这些可以在设置应用程序(显示和亮度=>文本大小或一般=>辅助function=>较大文本)中设置。 目前我能find的唯一方法是进入设置并使用UI更改值(编辑: 部分解决scheme如下所述)。 这是缓慢和繁琐的。 我怀疑有一种方法来dynamic改变它使用私人的API,但我不知道如何。 由于我的目标是只用于debugging,私人API的使用和调整是好的(这个代码将不会进入生产的方式)。 为了试图find一个私人的API来做到这一点,我看了一些逆向工程资源。 我是新的反汇编,符号表,类转储,并find我可以使用的私有API,但这是我迄今为止尝试过的: 我成功地调整了-[UIApplication preferredContentSizeCategory] (其他post说这工作在过去),但是这并不影响从+[UIFont preferredFontForTextStyle:]返回的结果。 使用反汇编程序IDA,我发现+[UIFont preferredFontForTextStyle:]是在私有框架UIFoundation.framework 。 ( -[UIApplication preferredContentSizeCategory]在UIKit.framework但反汇编看起来没有用处)。 正如我开始写这个问题(总是这样),我发现了一个部分的解决scheme 。 可以在scheme中设置启动参数来设置启动时的值。 这是有用的,但不是我所追求的。 通过上面的答案,我发现用户偏好的值明显存储在“模拟器的data/Library/Preferences目录下的com.apple.UIKit.plist文件”中。 我们之后的值可以从命令行实用程序plutil 。 这也是一个改进! 但是我想在运行时dynamic修改它。 来自IDA的更多结果: 我真的不知道如何阅读反汇编,但+[UIFont preferredFontForTextStyle:]似乎指向一个名为___UIFontForTextStyle的符号,这似乎指向一些有趣的冠冕堂皇的符号,称为_getUIContentSizeCategoryUnspecified和_getUIContentSizeCategoryPreferenceClass 我还使用UIFoundation.framework上的命令行工具nmfind了这些符号。 它们被标记为小写字母“s”,显然, “符号位于未初始化的小数据对象的数据部分”。 。 我不知道这意味着什么(我所收集的是他们不是一个class级或方法)。 在networking上search_getUIContentSizeCategory…符号不会产生任何结果,但附近有另一个符号_getUIApplicationClass 。 我search了那个,因为它听起来更普遍一些,并且在一些WebKit源代码中发现了类似的东西。 可能是没有,但也许这是一个内部的苹果公约。 无论如何,这个例子并不能真正帮助我解决问题。 无论如何感谢阅读至今。 如果你还在这里,我的问题是: 我希望能够dynamic模拟dynamictypes大小首选项的值。 这些反汇编符号可能有帮助,但也许我在错误的轨道上。 感觉就像解决scheme很接近,但我不能把所有的东西放在一起。 将此值设置为启动参数很好,但并不能完全解决我的问题。 同样,在plist修改模拟器的值也是很好的自动化,但不能解决我的问题。 有没有办法在运行时dynamic地改变这个值?

自定义字体在iOS中的问题

我使用UIAppFonts属性列表键,按照各个位置列出的步骤进行操作。 我正在使用Aller Light字体。 我已经将它添加为资源,在信息属性列表中正确添加了字体名称,现在正试图使用​​它,但是每次尝试都会显示默认字体。 到目前为止我已经尝试过: [leader setFont:[UIFont fontWithName:@"Aller Light" size:20.0]]; [leader setFont:[UIFont fontWithName:@"AllerLight" size:20.0]]; [leader setFont:[UIFont fontWithName:@"Aller-Light" size:20.0]]; [leader setFont:[UIFont fontWithName:@"Aller-Lt.ttf" size:20.0]]; leader.font = [UIFont fontWithName:@"Aller Light" size:20.0]; … with all the variants listed above 他们都没有工作。 运行NSLog(@"Available fonts: %@", [UIFont familyNames]); 收益: Available fonts: ( … "Aller Light", … ) 想法或解决scheme? 在我的Mac上安装字体并查看字体书,字体的名称是Aller Light。 validationFont Book中的字体表明字体名称实际上就是Aller […]

无法在WatchKit中设置自定义字体

我正在设置Roboto字体,并添加了作为watch kit扩展的目标,但它仍然是零。 我们可以在手表套件中设置自定义字体吗?

给框架设定器正确的行间距调整

几个post已经注意到了从CTFramesetterSuggestFrameSizeWithConstraints得到一个确切的高度,在这里, (framesetter post) ,@Chris DeSalvo给出了看起来像权威性的修复:添加一个段落风格设置与正确的行距调整。 DeSalvo通过从其lineHeight移除UIFont的上行和下行来获得他的“领导”。 我想知道如何比较CTFontGetLeading 。 我使用像这样创build的字体: CTFontRef fontr = CTFontCreateWithName((CFStringRef)@"Helvetica Neue", 16.0f, NULL); UIFont *font = [UIFont fontWithName:@"Helvetica Neue" size:16.0f]; 价值是非常不同的: 0.448 CTFontGetLeading 2.360 DeSalvo的公式:UIFont lineHeight – ascender + descender 以下是一些其他UIFont值: 21.000 UIFont的lineHeight 15.232 UIFont的上升(从基线起的Y坐标) -3.408 UIFont的下行(从基线起的Y坐标) 08.368 UIFont的xHeight 以下是Ken Thomases询问的CTFont值: 11.568001 CTFontGetCapHeight 08.368 CTFontGetXHeight -15.216001,-7.696001,38.352001,24.928001 CTFontGetBoundingBox 15.232 CTFontGetAscent 03.408 CTFontGetDescent(class ref是指“根据字体大小和字体引用matrix缩放的缩放字体下降度量” […]

如何在iPhone应用程序中显示不同的自定义阿拉伯语字体?

在我的应用程序中,我需要显示不同的自定义字体的阿拉伯文字。 我按照这个脚本添加ttf文件到info.plist 。 根据上面的情况,我成功地获得了不同字体样式的英文文本显示文本。 我为阿拉伯语字体样式做同样的事情,但在这里我没有得到。 为什么会那样? 请任何人都可以帮助我 提前致谢。

iPhone中非系统字体的名称

我想添加一个非系统字体到我的iPhone / iPad应用程序。 我已经将该字体文件添加到项目中,并将该字体添加到info.plist的UIAppFonts属性中。 加载字体我正在使用fontWithName的UIFont 。 但是,字体的名称似乎不是文件名,有或没有扩展名,也不出现在字体书中的名称。 UIFont* font = [UIFont fontWithName:@"What goes here?" size:10]; 我在哪里可以find字体的名字 ?

我如何计算UISegmentedControl段的正确宽度?

我正在尝试使用UISegmentedControl,但无法计算段的宽度。 控件使得所有段的宽度都相同,但对于某些标题不起作用,如下所示: http://morrisphotoart.com/tmp/Scr​​eenshot2011-07-13_21.17.33.png 我可以编写代码来计算段的宽度,如果我知道哪种字体,并调用setWidth:forSegmentAtIndex:方法,但我怎样才能得到字体? 还是有另一种方式? 左侧和中间段的标题不固定,所以我不能硬编码的宽度。

不能在iOS应用中使用自定义字体

我正在尝试为我的iOS应用程序使用自定义字体。 这是我做的 我将自定义字体(m.tff)添加到Xcode支持文件目录。 另外,我创build了myApp.plist中名为字体(m.tff)的应用程序提供的名为Fonts的条目 在我看来,我有一个标签 UILabel *label = [[UILabel alloc]initWithFrame:CGRect(10, 20, 230, 30)]; label.font = [UIFont fontWithName:@"My custom font" size:15]; 等等… 问题是,当我启动应用程序时,标签中的文本是使用默认字体,而不是使用特定的字体。 我在这里想念什么? EDITED 那么它现在似乎工作,但字体只适用于像,? 但不适用于信件。 我使用西里尔文顺便说一句。

根据内容调整UILabel的大小

我有一个UILabel,他的文字大小有属性 title.adjustsFontSizeToFitWidth = YES; 这阻止了我使用标准方法来调整UILabel的大小。 我在这里看到另一个post,我应该使用该function sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode 从这个答案: 当-adjustsFontSizeToFitWidth设置为YES时如何找出UILabel的字体大小? 现在,我不知道如何使其工作..这是实际的代码 UIFont *font = [UIFont fontWithName:@"Marker Felt" size:200]; UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, width, 20.0)]; title.text = @"this is a long title that should be resized"; title.font = font; title.numberOfLines = 1; title.adjustsFontSizeToFitWidth = YES; CGFloat pointSize = 0.0; CGSize size = [title.text sizeWithFont:font […]