一: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))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。