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

前端之家收集整理的这篇文章主要介绍了Swift开发中你可能遇到的小功能实现<持续添加更新...>前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

代码实现:

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

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

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

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

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

  1. //设置通过代码添加Constraint,否则View还是会按照以往的autoresizingMask进行计算
  2. centerButton.translatesAutoresizingMaskIntoConstraints = false
  3.  
  4. //依次添加X,Y,W,H
  5. view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .centerX,relatedBy: .equal,toItem: self.view,multiplier: 1.0,constant: 0))
  6. view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .centerY,constant: -60))
  7. view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .width,toItem: nil,attribute: .notAnAttribute,constant: 50))
  8. view.addConstraint(NSLayoutConstraint(item: centerButton,attribute: .height,constant: 50))

方法解读:

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

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

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

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

猜你在找的Swift相关文章