iOS 小知识汇总

1, [[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

  系统导航栏title颜色设置

2 iOS判断当前控制器是否正在显示

+(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController
{
    return (viewController.isViewLoaded && viewController.view.window);
}

也可以将该方法定义在UIViewController的分类中, 方便多处调用

假如一个UIView对象当前正在显示,那么它的window属性肯定为非空值。

虽然官方文档未说明UIView未显示时window属性的取值,但是经过简单的测试,大部分情况下UIView未显示时,

window的值为空,因此依据此判断当前UIViewController是否正在显示。但是访问UIViewController的view属性时,

可能会引起view加载(假如此时还未加载),这是不必要的,而且还可能引起无法预期的问题。因此在访问view属性之前,最好先检查isViewLoaded属性来避免上述问题。

 3,Xcode代码字体变成白色,无法出现联想代码解决方案

删除缓存~/Library/Developer/Xcode/DerivedData

 

 

 4   /** 重新布局  必须写layoutSubviews  才能重新布局**/

 

    [self setNeedsLayout];

   [self layoutSubviews];

 

5,frame

 CGRectGetHeight返回label本身的高度

 CGRectGetMinY返回label顶部的坐标

 CGRectGetMaxY 返回label底部的坐标

 CGRectGetMinX 返回label左边缘的坐标

 CGRectGetMaxX 返回label右边缘的坐标

 CGRectGetMidX表示得到一个frame中心点的X坐标

 CGRectGetMidY表示得到一个frame中心点的Y坐标

 

posted on 2017-11-02 10:55  廖利君  阅读(157)  评论(0编辑  收藏  举报