iOS 开发常见问题汇总

  • \color{red}{应用无法全屏显示}
    每次当iPhone发布新尺寸的设备的时候,程序员都要对新尺寸的屏幕做适配,比如iPhone 5和 iPhone X 系列发布后,有的APP会出现无法占满屏幕的情况。这种情况只要将启动图的尺寸配置好就可以了。
对应位置拖入对应的启动图片就可以啦
  • \color{red}{导航控制器过渡动画}
    如果想给控制添加炫酷一点的动画,苹果提供了几个漂亮好用的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];
  • \color{red}{修改父视图透明度不影响子视图}
    如果直接修改父容器的透明度的话,包含在内的自视图也会变透明,只需要如下做法
self.view.backgroundColor = [[UIColor whiteColor]colorWithAlphaComponent:0.7f];
  • \color{red}{UIButton的子视图不影响本身点击事件}
    在比较负责的cell中 往往是点击不同的部分进行不同的操作,比如:微博的每个Cell,有原创的,有转发的,有带图片的 有带视频的 不能只通过 didSelectRowAt 来处理点击。我把需要点击的部分用一个button容器包装起来,这样根据button的点击来处理就简单多了。
// 关闭交互 将事件传递给父button
self.PTView.isUserInteractionEnabled = false
  • \color{red}{保留小数并且 不四舍五入}
    项目需求是不要求四舍五入保留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)
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一个人真的很难认识自己,有时候你以为你是这样的人,其实在别人心里恰恰相反。他说我很苛刻,没有宽容心,一点度量都没有...
    想儿陶陶阅读 1,774评论 0 0
  • 客栈之外,风雪无边... 客栈之内,却是一番剑拔弩张之势… “二楼主,现在可以把人交出来了吧!”客栈内,一个清秀书...
    寒山冷冽阅读 2,144评论 0 0
  • 团圆节日未出游, 乡村院里拾果实, 外有感恩国中秋, 世界人民欢国庆。
    A把时间当做朋友阅读 1,211评论 0 2

友情链接更多精彩内容