jjzjj

swift - 扩展函数要求返回类型而不是参数

我正在Swift中创建UIFont的扩展,它将返回自定义字体。importUIKitextensionUIFont{funcmuseoSansRounded900(size:CGFloat)->UIFont{returnUIFont(name:"MuseoSansRounded900",size:size)!}}但是,当我使用扩展名self.titleLabel?.font=UIFont.museoSansRounded900(15.0)Xcode在设计时返回一个错误,说'(CGFloat)->UIFont'is不可转换为“UIFont”我做错了什么吗?当我使用扩展中的函数时,Xcod

ios - UILabel 动态字体大小不断中断

我有CollectionViewCell,它只有UILabel(与单元格相同的边界)。我正在获取fontNames数组作为CollectionView数据源:funcprintFonts(){letfontFamilyNames=UIFont.familyNames()forfamilyNameinfontFamilyNames{letnames=UIFont.fontNamesForFamilyName(familyNameas!String)fontNames.append(familyNameas!String)}}我试图在UILabel的one行中显示此字体名称,它在某些情况下

ios - 文本字段占位符字体会产生问题

我已将按钮作为rightView添加到文本字段。我已将具有自定义字体的属性文本设置为占位符文本。我的文本字段的占位符和文本字体不同。但是当文本字段的文本很大并且如果我选择整个文本并删除然后它不会以其字体显示占位符文本。它以文本字段的文本字体显示。详细说明:我的文本域的文本字体是:OpenSansBold18.0我的文本字段的占位符文本字体是:OpenSans18.0(常规)但是当我选择孔文本(大)并删除文本时,它会显示占位符文本:OpenSansBold18.0但它应该显示占位符文本:OpenSans18.0(常规) 最佳答案 我认

ios - 获取具有下行字母的 UIFont 的所有字形

有没有办法获取包含真正下行字母的UIFont的所有字形?似乎使用CTLineGetTypographicBounds并不准确,并且为每一行返回完全相同的下降值。我以为它会提供我需要的信息,但它没有。所以现在我想看看是否可以从包含真正下行字母的字形构建字符集,除非有其他方法。最终目标是能够查看一行文本是否低于基线。letline=CTLineCreateWithAttributedString(NSAttributedString(string:s,attributes:attr))//let'sgettherealdescenttestvara:CGFloat=0vard:CGFloa

swift - UILabel 的字体在 View 重新出现之前不会调整

我使用Storyboard创建了一个表格View,其中包含带有标签的单元格。我希望能够轻松地为应用程序中的所有标签分配相同的字体,因此我在辅助文件(smallFont、mediumFont和largeFont)和tableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)我将每个标签设置为使用我想要的字体(即cell.label.font=Common.fonts.mediumFont)。第一次显示tableview时,它使用Storyboard中定义的字体,直到您离开View并返回时,它才使用我

ios - 我如何替换 #define 以用于常见的 swift 和 objective-c 使用

我们的产品是用Objective-C编写的,我们已经开始用swift编写新功能。这是写在我们全局文件里的东西-#defineSPXFontHelveticaBold(SIZE)[UIFontfontWithName:@"Helvetica"size:SIZE]我无法在我的swift类(class)中使用它。 最佳答案 swift中没有宏,但您可以使用以下代码块实现相同的功能,该代码块返回UIFont。funcSPXFontHelveticaBold(s:CGFloat)->UIFont{returnUIFont(name:"Helv

ios - 自定义字体在 swift 3 中变为 nil 值

我想将attributedstring设置为我的UILabel。所以我这样定义属性。letattribute1:[String:Any]=[NSForegroundColorAttributeName:UIColor.init(colorLiteralRed:120.0/255,green:173.0/255,blue:194.0/255,alpha:1.0),NSFontAttributeName:UIFont.init(name:"Bariol_Bold",size:15.0)!]letattributedStringGreeting=NSAttributedString.init

swift - 无法更改 UILabel [Swift] 上的 UIFont 大小

我正在尝试更改UIFont的大小,但是当我输入一个数字时,它不会改变它的大小仍然是17,即使我选择数字70或100也不会改变。这是我尝试过的:labelTitle.font=UIFont(name:"Arial-Rounded-MT-Bold",size:30)仍然给我17码的结果我发现使用这行代码:labelTitle.font.fontWithSize(30)它可以更改字体大小,但现在标签将字体更改为“.SFUIText-Regular”我将结果打印到控制台以查看它在不工作时给我的字体和大小:print(labelTitle.font.fontName)print(labelTit

swift - 从字体中获取所有可用字符

我正在使用Swift3开发一个iOS应用程序。在这个应用程序中,我列出了所有可用的字体(系统提供),但我也想列出它们的所有可用字符。例如,我正在使用FontAwesome并且我希望用户能够从列表中选择任何字符/符号。我该怎么做?这就是我获取字体数组的方式。如何获取所选字体的所有字符数组?UIFont.familyNames.map({UIFont.fontNames(forFamilyName:$0)}).reduce([]){$0+$1} 最佳答案 对于每个UIFont,您必须获取该字体的字符集。例如,我首先使用UIFont。le

ios - 快速将 UIFont 转换为 CGFont?

需要为下面的函数传递CGFontCGFontCreateCopyWithVariations(,)) 最佳答案 这是一个小例子:varfont=UIFont.systemFontOfSize(15.0)varfontName=font.fontNameasNSStringvarcgFont=CGFontCreateWithFontName(fontName);varcopiedFont=CGFontCreateCopyWithVariations(cgFont,nil) 关于ios-快速