iPhone X无法从开始显示选择屏幕

时间:2017-12-06 09:06:20

标签: ios xcode cocoa-touch iphone-x

我正在尝试将选择图像设置为UITabbar项目,

这是截图。

除了iPhoneX enter image description here

之外,它在所有其他屏幕上都能正常工作

如何从y = 0

显示它

enter image description here

1 个答案:

答案 0 :(得分:0)

注意:

  

使用selectionIndicatorImage属性指定自定义选择   图片。您的图像呈现在标签栏的顶部,但在标签栏的后面   标签栏项目本身的内容。默认值   property为nil,这会导致标签栏应用默认突出显示   到所选项目

如果您为了某些目的使用selectionIndicatorImage,请将此代码放在TabBarController class中,这里我使用viewDidLayoutSubviews,因为在横向和纵向模式下获得了tabbar的动态高度。

 override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        print("current height \(tabBar.frame.size.height)")
        let selTab = UIImage(named: "tab1.png")
        let numberOfTabs: CGFloat = 2.0
        let tabSize = CGSize(width: (self.view.frame.width)/numberOfTabs, height: tabBar.frame.size.height)
        UIGraphicsBeginImageContext(tabSize);
        selTab?.draw(in: CGRect(x: 0, y: 0, width: tabSize.width, height: tabSize.height))
        let reSizeImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        tabBar.selectionIndicatorImage = reSizeImage
    }