美文网首页
Swift 导航栏的titleView居中显示问题

Swift 导航栏的titleView居中显示问题

作者: 我丑我先睡 | 来源:发表于2016-11-27 19:29 被阅读0次

今天在练习写微博的时候遇到一个问题:首页的导航栏titleView是自定义的UIButton,要让文字显示在图片的前面,这里重写了layoutSubViews()方法,也设置了sizeToFit();但是结果如下:

文字和标题没有亲密的在一起

这是跟着网上的视频一步步做的结果
想了一下:问题肯定是出在了layoutSubViews();


/// 重写布局方法  让图片在文字的后面

override func layoutSubviews() {

super.layoutSubviews()

// 判断是否有图标和标题

guard let imageView = imageView, let titleLabel = titleLabel else {

return

}

// 对应移动

titleLabel.frame = titleLabel.frame.offsetBy(dx: -imageView.bounds.width, dy: 0)

imageView.frame = imageView.frame.offsetBy(dx: titleLabel.bounds.width, dy: 0)

}

可以看到titleLabel.frame和imageView.frame分别以对方为参照移动。如图所示移动的量明显大了很多啊。所以试着分别调用了sizeToFit();

        // 设置图片和文字的尺寸
        titleLabel?.sizeToFit()
        imageView?.sizeToFit()
        // 设置button的sizeToFit 否则它不知道要如何显示
        sizeToFit()

结果完美了!

就是酱紫的

相关文章

网友评论

      本文标题:Swift 导航栏的titleView居中显示问题

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