1進入詳情之后再返回首頁泣懊,底部tabbar會消失
原因:popViewControllerAnimated:YES動畫延時
處理方式:兩種方式都可以
- 1 popViewControllerAnimated:NO 不要使用動畫
- 2在UINavigationController類中的popViewControllerAnimated方法最上面添加如下代碼:(隱藏和顯示的方式保持一致)
if (self.viewControllers.count > 1) {
self.topViewController.hidesBottomBarWhenPushed = NO;
}
2 UIPageControl
圓點顯示不出來撬腾,或者修改的圓點大小位置不對
如果顯示不出來,就把UIPageControl的寬度增加,如果位置大小不對垮耳,之前通過遍歷UIPageControl的子視圖修改frame的,注意iOS 14里面UIPageControl的子視圖發(fā)生了變化,新增了pageControlIndicatorContentView 和pageControlIndicatorContentView班缎,通過遍歷pageControlIndicatorContentView即可繼續(xù)修改frame了
3日期控件:
iOS 13之前沒有問題蝴光,iOS 13到iOS 14之間因為適配暗黑模式控件變成透明的無法顯示,iOS 14以后需要適配樣式和高度
修改高度:
if ([self systemVersionType] == 2) {
self.datePicker.frame = CGRectMake(0, self.Bounds.size.height - 320, ScreenWidth, 35);
}else{
self.datePicker.frame = CGRectMake(0, self.Bounds.size.height - 320, ScreenWidth, 220);
}
設(shè)置顏色
if ([self systemVersionType] == 1) {
[_datePicker setBackgroundColor:[UIColor whiteColor]];
}
//解決暗黑模式下:字體顏色顯示錯誤的問題
if ([self systemVersionType] == 1){
//日期控件的字體顏色會自動跟隨系統(tǒng)變化达址,這里需要設(shè)置他的背景顏色
[self.datePicker setValue:[UIColor blackColor] forKeyPath:@"textColor"];
//設(shè)置選中的當前日期顏色
SEL selector = NSSelectorFromString(@"setHighlightsToday:");
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDatePicker instanceMethodSignatureForSelector:selector]];
BOOL no = NO;
[invocation setSelector:selector];
[invocation setArgument:&no atIndex:2];
[invocation invokeWithTarget:self.datePicker];
}
/**
根據(jù)手機系統(tǒng)版本進行適配
13.0之前無需特殊處理
13.0-14之前:需要適配暗黑模式
14.0以后顏色無需特殊處理蔑祟,高度需要適配,樣式需要適配
*/
- (int)systemVersionType
{
CGFloat version = [UIDevice currentDevice].systemVersion.floatValue;
if (version < 13.0) {
return 0;
}else if (version < 14.0){
return 1;
}else{
return 2;
}
}