Swift 中的外观代理 (iOS)
Posted
技术标签:
【中文标题】Swift 中的外观代理 (iOS)【英文标题】:Appearance Proxy in Swift (iOS) 【发布时间】:2014-06-03 14:34:32 【问题描述】:有没有人尝试过在 swift 中使用外观代理?
这种语法不起作用,有没有人想出如何在segmentedControl或UITabBar等控件上设置标题文本属性?我想我很接近了
segmentedControl.titleTextAttributesForState(UIControlState.Normal) =
NSDictionary(objects: [UIFont(name: fontFamilyRegular, size: 16.0)],
forKeys: [NSFontAttributeName])
【问题讨论】:
【参考方案1】:应该这样做:
segmentedControl.setTitleTextAttributes([
NSFontAttributeName: UIFont(name: "Helvetica", size: 16.0)!,
NSForegroundColorAttributeName: UIColor.blueColor()
], forState: UIControlState.Normal)
【讨论】:
太棒了!这就是我要找的。谢谢 如何使用这种语法设置多个属性?【参考方案2】:确保解开字体 (!)
let font = UIFont(name: "HelveticaNeue-Light", size:15.0)!
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName:font,NSForegroundColorAttributeName:UIColor.redColor()], forState: UIControlState.Normal)
【讨论】:
您好,我刚刚安装了 XCode 6.3.1 和 iPhone 4s ios 8.3,它运行良好。也许这是自定义颜色?我只是在代码中更改为红色,以便人们现在可以复制和过去。如果它还不适合你,请告诉我。【参考方案3】:对于 XCode 6.1,试试这个:
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIFont(name: "Helvetica", size: 16.0)!, forKey: NSFontAttributeName), forState: UIControlState.Normal)
【讨论】:
以上是关于Swift 中的外观代理 (iOS)的主要内容,如果未能解决你的问题,请参考以下文章
UIBarButtonItem 外观代理设置字体属性在 iOS 11 中不起作用
IOS 8.3 UIPopoverController tint 中的任何 UISegmentedControl 都是白色且不可调整