我在traitCollectionDidChange
类中使用swift
成功触发了dark mode
的更改。像这样:
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
toggleDarkMode()
}
效果很好。每当我在模式之间切换时,它都会触发。但是对于我的objective-c
类,delegate
在暗和亮模式之间切换时不会触发。代码看起来类似:
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
[self toggleDarkMode];
}
我只能通过退出view
,然后再次返回来触发它。 objective-c
代码中我缺少什么?
答案 0 :(得分:1)
我可以通过调用super来实现:
- (void) traitCollectionDidChange: (UITraitCollection *) previousTraitCollection {
[super traitCollectionDidChange: previousTraitCollection];
[self toggleDarkMode];
}