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

前端之家收集整理的这篇文章主要介绍了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))

猜你在找的Swift相关文章