MTransparentNav icon indicating copy to clipboard operation
MTransparentNav copied to clipboard

iOS12 好像获取不到self.navigationBar.subviews

Open shengxiaolei opened this issue 6 years ago • 3 comments

  • (void)setNavigationBackgroundAlpha:(CGFloat)navAlpha { CGFloat alpha = MAX(MIN(navAlpha, 1), 0); UIView *barBackground = self.navigationBar.subviews[0]; UIView *colorView = [self getColorViewOnView:barBackground]; colorView.alpha = alpha; if ([barBackground valueForKey:@"_shadowView"]) { UIView *shadowView = [barBackground valueForKey:@"_shadowView"]; shadowView.alpha = alpha; shadowView.hidden = alpha == 0 ? YES : NO; } }

这个方法报错在iOS 12下

shengxiaolei avatar Jan 16 '19 08:01 shengxiaolei

改成 [[self.navigationBar subViews] firstObject] . 可以

koalahl avatar Jun 12 '19 03:06 koalahl

  • (void)setNavigationBackgroundAlpha:(CGFloat)navAlpha { CGFloat alpha = MAX(MIN(navAlpha, 1), 0); UIView *barBackground = self.navigationBar.subviews[0]; UIView *colorView = [self getColorViewOnView:barBackground]; colorView.alpha = alpha; if ([barBackground valueForKey:@"_shadowView"]) { UIView *shadowView = [barBackground valueForKey:@"_shadowView"]; shadowView.alpha = alpha; shadowView.hidden = alpha == 0 ? YES : NO; } }

这个方法报错在iOS 12下

[0如果数组为空, 会发生奔溃, 使用firstObject会返回nil, oc里可以给nil发消息

yimao009 avatar Jul 15 '19 03:07 yimao009

改成 [[self.navigationBar subViews] firstObject] . 可以

您好, iOS12和之前的系统在navgationbar上有什么更新变化吗, 为什么会导致这个bug呢?往指点

yimao009 avatar Jul 15 '19 03:07 yimao009