如何在iOS 13及更高版本中获取tabBarItem的imageview?

时间:2019-11-14 11:00:05

标签: ios uitabbaritem

我需要在选择时将tabBarItem的imageView设置为动画。我能够像这样在iOS 13之前获取imageView:

List<String> priceUnitCodes = ofNullable(product.getProductPrices())
        .map(ProductPrices::getProductPrices)
        .map(productPrices -> productPrices.stream()
                                           .map(pp -> pp.getPriceBase().getPriceUnit().getCode())
                                           .collect(Collectors.toList())
        .orElse(null);

但是现在subView仅包含UIVisualEffectView作为其唯一的子视图,并且我无法获取tabBarItem的imageView。

我正在使用Xcode 11.1和iOS13.1 iPhone 11。

2 个答案:

答案 0 :(得分:0)

在iOS 13中,如果未选择标签页,则可以访问UIVisualEffectView的{​​{1}}。遍历contentViewcontentView)的子视图,您应该找到UIVisualEffectView.contentView.subviews

选择标签后,您应该将UISwappableImageView视为UISwappableImageView的子项。

答案 1 :(得分:-1)

您将能够以tabBar.items![index].imagetabBar.items![index].selectedImage AFAIK的形式直接访问tabBarItem的image / selectedImage属性。