【问题标题】:iPhone X not displaying selection screen from startiPhone X 从一开始就不显示选择屏幕
【发布时间】:2018-05-20 02:35:54
【问题描述】:

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

这是截图。

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

如何让它从 y = 0 开始出现

【问题讨论】:

  • 你问的是selectionIndicatorImage还是selectedImage
  • @Jack setSelectionIndicatorImage
  • 图片的尺寸是多少?你能补充一下吗?
  • @Jack 已附上图片

标签: ios xcode cocoa-touch iphone-x


【解决方案1】:

注意:

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

如果您出于某种目的使用 selectionIndicatorImage,请将此代码放入 TabBarController class,这里我使用 viewDidLayoutSubviews,因为在横向和纵向模式下都可以获取标签栏的动态高度。

 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
    }

【讨论】:

    猜你喜欢
    • 2018-08-08
    • 2021-04-05
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多