美文网首页
UITabBar显示两行文字。

UITabBar显示两行文字。

作者: Dolway | 来源:发表于2023-04-24 12:12 被阅读0次

    UITabBar 并没有暴露 titleLabel 给我们。我们需要通过KVC 获取,然后修改其属性。

                let viewTabBar = item.value(forKey: "view") as? UIView
    //            let imageView = viewTabBar?.subviews[0] as? UIImageView
                let label = viewTabBar?.subviews[1,true] as? UILabel
                label?.numberOfLines = 2
                label?.textAlignment = .center
                label?.lineBreakMode = .byWordWrapping
                label?.frame = CGRectMake(0, 0, (viewTabBar?.frame.size.width ?? 0),10)
                label?.sizeToFit()
    

    修改行数后,会影响原来的布局,需要自己调整图片的显示。
    调整图片和文字的偏移

    // 调整文字偏移
    item.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -20)
    // 调整图片偏移
    item.imageInsets = UIEdgeInsets(top: 0.0, left: 0, bottom: 0, right: 0)
    

    需要注意的是, imageInsets 的调整必须在let viewTabBar = item.value(forKey: "view") as? UIView的前面。因为一旦设置 imageInsetsitme里的view 就变化了,之前的设置就没有意义了

    相关文章

      网友评论

          本文标题:UITabBar显示两行文字。

          本文链接:https://www.haomeiwen.com/subject/uieujdtx.html