-
每次当iPhone发布新尺寸的设备的时候,程序员都要对新尺寸的屏幕做适配,比如iPhone 5和 iPhone X 系列发布后,有的APP会出现无法占满屏幕的情况。这种情况只要将启动图的尺寸配置好就可以了。
-
如果想给控制添加炫酷一点的动画,苹果提供了几个漂亮好用的API,如果一些波纹效果,翻页效果等。
kCATransitionFade 交叉淡化过渡
kCATransitionMoveIn 新视图移到旧视图上面
kCATransitionPush 新视图把旧视图推出去
kCATransitionReveal 将旧视图移开,显示下面的新视图
pageCurl 向上翻一页
pageUnCurl 向下翻一页
rippleEffect 滴水效果
suckEffect 收缩效果,如一块布被抽走
cube 立方体效果
oglFlip 上下翻转效果
例子:
CATransition *animation = [CATransition animation];
animation.duration = 0.7;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
// 下面代码会出现水波纹的效果
animation.type = @"rippleEffect";
// type 和 subtype 配合使用 下面两行代码的作用
// 新页面从左侧进入将原来界面退出窗口
animation.type=kCATransitionPush;
animation.subtype=kCATransitionFromLeft;
[self.view.window.layer addAnimation:animation forKey:nil];
[self presentViewController:viewController animated:NO completion:completion];
-
如果直接修改父容器的透明度的话,包含在内的自视图也会变透明,只需要如下做法
self.view.backgroundColor = [[UIColor whiteColor]colorWithAlphaComponent:0.7f];
-
在比较负责的cell中 往往是点击不同的部分进行不同的操作,比如:微博的每个Cell,有原创的,有转发的,有带图片的 有带视频的 不能只通过 didSelectRowAt 来处理点击。我把需要点击的部分用一个button容器包装起来,这样根据button的点击来处理就简单多了。
// 关闭交互 将事件传递给父button
self.PTView.isUserInteractionEnabled = false
-
项目需求是不要求四舍五入保留1位小数,而String(format: "%.2f", 3.14) 都是会四舍五入的,而且这么个功能用截取字符串的方式总感觉笨拙,可以用一下的方法
/// 保留N为小数 并且不四舍五入
///
/// - Parameters:
/// - orgNumber: 要格式化的数值 (可以根据需要修改类型 String|float...)
/// - savePoint: 希望保留的小数位
/// - keepZero: 如果遇到0是否保留 比如 true : 2.08 -> 2.0 反之 2
/// - Returns: 返回一个NSDecimalNumber
func formatNumber(orgNumber: Double, savePoint: Int16, keepZero: Bool = true)-> NSDecimalNumber{
let behavior = NSDecimalNumberHandler.init(roundingMode: .bankers, scale: savePoint, raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: keepZero)
return NSDecimalNumber(value: orgNumber).rounding(accordingToBehavior: behavior)
}