swift微博第8天(自定义标题按钮)

1.自定义一个TittleBtn

import UIKit

class TittleBtn: UIButton {

// 初始化视图
   override init(frame: CGRect) {
    
    super.init(frame: frame)
    
    setTitleColor(UIColor.JKTextGayColor(), for: UIControlState.normal)
    setImage(UIImage(named:"navigationbar_arrow_down"), for: UIControlState.normal)
    setImage(UIImage(named:"navigationbar_arrow_up"), for: UIControlState.selected)
    sizeToFit()
    
   }
   // 防止storyboard崩溃
   required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
   }

   // 调整图片和文字的位置
   override func layoutSubviews() {
     super.layoutSubviews()
  
     titleLabel?.x = 0
     imageView?.x = titleLabel!.width

    }

}

提醒:我这里可以用.x.with是因为我对frame进行了重写

2.调用自定义的标题按钮

   let btn = TittleBtn()
   btn.setTitle("极客江南 ", for: UIControlState.normal)
   btn.addTarget(self, action: #selector(HomeViewController.tittleClick(btn:)), for: UIControlEvents.touchUpInside)
   navigationItem.titleView = btn

3.方法的实现

 @objc private func tittleClick(btn:TittleBtn){

    print("标题的点击方法")
    btn.isSelected = !btn.isSelected

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,836评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,116评论 4 61
  • 他人就是自己的一面镜子。 你总是看别人不顺眼,说明你此刻不再关注自己的内心了,时下流行冥想,想什么,想自己的理想,...
    阿苏sue阅读 250评论 0 1
  • 自己写的cs231n的作业,希望给点意见,支出错误和不足.谢谢 [TOC] features.ipynb内容: I...
    X_Y阅读 1,226评论 0 0
  • 我的眼泪 我从未忘记, 与你的相遇, 所有的快乐和眼泪。 你去吧! 我一直在黄昏里等你, 那朵...
    青庐阅读 300评论 0 0

友情链接更多精彩内容