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

2017-01-14 19:53:38来源:CSDN作者:feng2qing人点击

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

这里写图片描述

代码实现:

//创建动画let anim = CABasicAnimation(keyPath: "transform.rotation")//设置相关属性anim.toValue =  2 * M_PIanim.repeatCount = MAXFLOATanim.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,Hview.addConstraint(NSLayoutConstraint(item: centerButton, attribute: .centerX, relatedBy: .equal, toItem: self.view, attribute: .centerX, multiplier: 1.0, constant: 0))view.addConstraint(NSLayoutConstraint(item: centerButton, attribute: .centerY, relatedBy: .equal, toItem: self.view, attribute: .centerY, multiplier: 1.0, constant: -60))view.addConstraint(NSLayoutConstraint(item: centerButton, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: 50))view.addConstraint(NSLayoutConstraint(item: centerButton, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, 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))

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台