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

简介: 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
}


目录
相关文章
|
16天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
31 1
|
25天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
47 5
|
6月前
|
Swift 图形学 iOS开发
【Swift开发专栏】Swift中的自定义视图与绘制
【4月更文挑战第30天】本文探讨了Swift中自定义视图的创建与绘制,分为基础知识、绘制步骤和性能优化三部分。开发者通过继承`UIView`,重写`draw(_:)`方法并利用Core Graphics进行2D绘图。提高性能的技巧包括避免重复绘制、使用轻量级视图、优化图形上下文使用、启用图层背板及避免阻塞主线程。自定义视图让iOS和macOS界面更独特高效,进阶可探索Core Animation和Metal等技术。
78 0
|
Swift
Swift -banner滚动图自定义
Swift -banner滚动图自定义
235 0
Swift -banner滚动图自定义
|
Swift
Swift - 自定义tabbar的封装
Swift - 自定义tabbar的封装
337 0
Swift - 自定义tabbar的封装
|
Swift
Swift之自定义Button
Swift之自定义Button
233 0
Swift之自定义Button
|
SQL 存储 Oracle
swift微博第25天(SQLite)
swift微博第25天(SQLite)
220 0
swift微博第25天(SQLite)
|
Swift
swift微博第21天(图片选择器)
swift微博第21天(图片选择器)
475 0
swift微博第21天(图片选择器)
|
Swift
Swift5.1—自定义运算符
Swift5.1—自定义运算符
140 0
|
4月前
|
Unix 调度 Swift
苹果iOS新手开发之Swift 中获取时间戳有哪些方式?
在Swift中获取时间戳有四种常见方式:1) 使用`Date`对象获取秒级或毫秒级时间戳;2) 通过`CFAbsoluteTimeGetCurrent`获取Core Foundation的秒数,需转换为Unix时间戳;3) 使用`DispatchTime.now()`获取纳秒级精度的调度时间点;4) `ProcessInfo`提供设备启动后的秒数,不表示绝对时间。不同方法适用于不同的精度和场景需求。
142 3