【问题标题】:Appearance Proxy in Swift (iOS)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])

【问题讨论】:

    标签: ios swift ios8


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-23
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多