Swift开发中你可能遇到的小功能实现<持续添加更新...>

一:Swift3.0为视图添加旋转动画,效果如下:

代码实现:

//创建动画
let anim = CABasicAnimation(keyPath: "transform.rotation")
//设置相关属性
anim.tovalue =  2 * M_PI
anim.repeatCount = MAXFLOAT
anim.duration = 15
//完成之后不移除,testView被释放,动画随着一起删除
anim.isRemovedOnCompletion = false 
testView(anim,forKey: nil)

二:解决项目中每次界面跳转隐藏TabBar的问题

思路:在UINavigationController 中重写pushViewController 方法,不必每次跳转调用hidesBottomBarWhenPushed

override func pushViewController(_ viewController: UIViewController,animated: Bool) {
    //隐藏tabbar
    if childViewControllers.count > 0 {
        viewController.hidesBottomBarWhenPushed = true
    }
    super.pushViewController(viewController,animated: animated)
}

三:Swift3.0中使用NSLayoutConstraint为控件添加约束

//设置通过代码添加Constraint,否则View还是会按照以往的autoresizingMask进行计算
centerButton.translatesAutoresizingMaskIntoConstraints = false

//依次添加X,Y,W,H
view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .centerX,relatedBy: .equal,toItem: self.view,multiplier: 1.0,constant: 0))
view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .centerY,constant: -60))
view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .width,toItem: nil,attribute: .notAnAttribute,constant: 50))
view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .height,constant: 50))

方法解读:

在view视图中,为参数1添加约束

设置 参数1(一般为视图)参数2(坐标或宽高) 属性 参数3(大于等于小鱼) 参数4(参照视图)参数5(坐标或宽高) 属性 乘以 参数6 加上 参数7

注意:单纯设置宽高的时候,参数4传入nil,参数5传入.notAnAttribute

view.addConstraint(NSLayoutConstraint(item: 参数1,attribute: 参数2,relatedBy: 参数3,toItem: 参数4,attribute: 参数5,multiplier: 参数6,constant: 参数7))

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...