更改基于Uilabel的自适应布局的颜色



我需要具有iPad和iPhone标签的不同颜色,我知道我们可以更改不同尺寸类的字体大小,但是有什么方法我们可以根据大小类别设置不同的颜色值

我知道有可用的代码解决方案,但我想知道大小类在这方面是否可以帮助我

谢谢

您可以有两个带有不同颜色的标签,其中一个设置为仅在iPhone size类中安装em>仅适用于iPad类。

[编辑]

好吧,我不知道为什么我的答案被投票。问题没有提及此标签的用途。这是一个解决方案,可以考虑是否仅将标签用作静态文本。如果您必须在UiviewController中保留此标签的参考(如Arslan Asim提到)

是不合适的。

您可以检查用户使用此代码所使用的设备类型。如果IS_IPAD为true,请显示iPad颜色。希望这可以帮助。

enum UIUserInterfaceIdiom : Int
{
    case Unspecified
    case Phone
    case Pad
}
struct ScreenSize
{
    static let SCREEN_WIDTH         = UIScreen.mainScreen().bounds.size.width
    static let SCREEN_HEIGHT        = UIScreen.mainScreen().bounds.size.height
    static let SCREEN_MAX_LENGTH    = max(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT)
    static let SCREEN_MIN_LENGTH    = min(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT)
}
struct DeviceType
{
    static let IS_IPHONE_4_OR_LESS  = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH < 568.0
    static let IS_IPHONE_5          = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 568.0
    static let IS_IPHONE_6          = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 667.0
    static let IS_IPHONE_6P         = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 736.0
    static let IS_IPAD              = UIDevice.currentDevice().userInterfaceIdiom == .Pad && ScreenSize.SCREEN_MAX_LENGTH == 1024.0
}

使用以下代码执行检查:

if(DeviceType.IS_IPAD)

ref

最新更新