前端之家收集整理的这篇文章主要介绍了
Swift开发中你可能遇到的小功能实现<持续添加更新...>,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一:Swift3.0为视图添加旋转动画,效果如下:
- let anim = CABasicAnimation(keyPath: "transform.rotation")
- anim.toValue = 2 * M_PI
- anim.repeatCount = MAXFLOAT
- anim.duration = 15
- anim.isRemovedOnCompletion = false
- testView(anim,forKey: nil)
二:解决项目中每次界面跳转隐藏TabBar的问题
思路:在UINavigationController
中重写pushViewController
方法,不必每次跳转都调用hidesBottomBarWhenPushed
- override func pushViewController(_ viewController: UIViewController,animated: Bool) {
-
- 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))