YYTextView 和YYLabel 適配暗黑模式完美解決的前提是 UIColor 必須正確適配
NSMutableAttributedString中必須要傳NSForegroundColorAttributeName,適配好顏色
YYLabel.m 添加如下代碼
#pragma mark - DarkMode Adapater
#ifdef __IPHONE_13_0
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection{
? ? [super traitCollectionDidChange:previousTraitCollection];
? ? if (@available(iOS 13.0, *)) {
? ? ? ? if([UITraitCollection.currentTraitCollection hasDifferentColorAppearanceComparedToTraitCollection:previousTraitCollection]){
? ? ? ? ? ? [self.layer setNeedsDisplay];
? ? ? ? }
? ? } else {
? ? ? ? // Fallback on earlier versions
? ? }
}
#endif
YYTextView.m 添加如下代碼
#pragma mark - Dark mode Adapter
#ifdef __IPHONE_13_0
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection{
? ? [super traitCollectionDidChange:previousTraitCollection];
? ? if (@available(iOS 13.0, *)) {
? ? ? ? if([UITraitCollection.currentTraitCollection hasDifferentColorAppearanceComparedToTraitCollection:previousTraitCollection]){
? ? ? ? ? ? [self _commitUpdate];
? ? ? ? }
? ? } else {
? ? ? ? // Fallback on earlier versions
? ? }
}
#endif