【问题标题】:Cannot find apple documentation about forTraitCollection找不到关于 forTraitCollection 的苹果文档
【发布时间】:2016-09-09 02:52:10
【问题描述】:

Apple WWDC 视频“让应用程序自适应,第 2 部分”(参见 https://developer.apple.com/videos/play/wwdc2016/233/)在大约 14:30 分钟处描述了使用 UINavigationBar.forTraitCollection() 方法。从该视频中,这里有一些使用该方法的代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    let verticalCompactTrait = UITraitCollection(verticalSizeClass: .compact)
    let compactAppearance = UINavigationBar.forTraitCollection(verticalCompactTrait)
    compactAppearance.setBackgroundImage(nil, for: .default)

    let verticalRegularTrait = UITraitCollection(verticalSizeClass: .regular)
    let verticalAppearance = UINavigationBar.forTraitCollection(verticalRegularTrait)
    verticalAppearance.setBackgroundImage(UIImage(), for: .default)
}

我找不到有关 forTraitCollection() 的文档。我搜索了 Apple 开发人员文档和一般的网络。你能告诉我去哪里看吗?

【问题讨论】:

  • 类方法appearanceForTraitCollection: 来自UIAppearance

标签: ios


【解决方案1】:

视频中给出的代码已经“进化”了。目前正确的工作代码(iOS 10,swift 3)是:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    let verticalCompactTrait = UITraitCollection(verticalSizeClass: .compact)
    let compactAppearance = UINavigationBar.appearance(for: verticalCompactTrait)
    compactAppearance.setBackgroundImage(nil, for: .default)

    let verticalRegularTrait = UITraitCollection(verticalSizeClass: .regular)
    let regularAppearance = UINavigationBar.appearance(for: verticalRegularTrait)
    let navBgImage:UIImage = UIImage(named: "someImage.jpg")!
    regularAppearance.setBackgroundImage(navBgImage, for: .default)
}

感谢rmaddy 让我走上正轨。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 2011-05-29
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多