iOS开发的一些小技巧

1.查看一段代码的运行时间
#define STARTTIME NSDate *startTime = [NSDate date];
#define ENDTIME NSLog(@"Time: %f", -[startTime timeIntervalSinceNow]);

使用方法:

STARTTIME
do your work here
ENDTIME
2.在使用view的缩放的时候,layer.border.width随着view的放大,会出现锯齿化的问题,解决这个问题需要设置这个属性。
self.layer.allowsEdgeAntialiasing = YES;
3.一幅图完美解释UIImageView的UIContentMode
1354011953_1051.png
4.获取当前最顶层的ViewController

通过最底层的ViewController依次向上寻找,直到找到最顶层的ViewController,也就是从UIApplication的keyWindow的rootViewController开始寻找(如果有多个UIWindow则要考虑UIWindow的选择问题。

在寻找的过程中,要分别考虑当前ViewController是UITabBarController和UINavigationController的情况,同时还要考虑到当前ViewController是否通过presentViewController:animated:completion:模态展示了其他ViewController。
实现代码:

- (UIViewController *)topViewController {
    UIViewController *resultVC;
    resultVC = [self _topViewController:[[UIApplication sharedApplication].keyWindow rootViewController]];
    while (resultVC.presentedViewController) {
        resultVC = [self _topViewController:resultVC.presentedViewController];
    }
    return resultVC;
}

- (UIViewController *)_topViewController:(UIViewController *)vc {
    if ([vc isKindOfClass:[UINavigationController class]]) {
        return [self _topViewController:[(UINavigationController *)vc topViewController]];
    } else if ([vc isKindOfClass:[UITabBarController class]]) {
        return [self _topViewController:[(UITabBarController *)vc selectedViewController]];
    } else {
        return vc;
    }
    return nil;
}

使用方法:

UIViewController *topmostVC = [self topViewController];
5.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UITableView的Group样式下顶部空白处理 //分组列表头部空白处理UIView*view = [[UI...
    莫离_焱阅读 433评论 0 0
  • 在实际的开发中掌握一些小的开发技巧,往往会让你的开发效率显著提升。下面是我自己总结的一些小的开发技巧,希望对感兴趣...
    东了个尼阅读 324评论 0 1
  • 很久没写博客了,最近一堆破事和工作上的事,导致博客断更一阵子了,这篇博客既是一些技巧篇也是一些我在最近的日常的开发...
    kissGod阅读 19,007评论 12 79
  • 导读:TableView不显示没内容的Cell怎么办?键盘事件写得好烦躁,都想摔键盘了怎么办?App老不流畅哪出问...
    清风沐沐阅读 230评论 0 0
  • 一、利用AutoLayout布局,快速查看是否成功适配各种iPhone设备 1、首先切换到双视图模式,快速切换的方...
    巧克力的qiao阅读 1,200评论 1 11