ios 开发中零碎易错知识点

关闭Finder的所有打开程序的 快捷方式: command + option + w

Mac 电脑关机是时,可以直接关机,而不用一个一个的关闭程序,电脑在关机前会把程序一个一个关闭了后再关机

mac常用快捷键 

通用 

  Cmd-F 搜寻 (在某篇文章上 用这个快捷键也是可以快速找到自己想要寻找的内容哦,哇哈哈哈哈!!!)

  Cmd-H 隐藏程序

  Cmd-Option-H 隐藏其他程序 

  Cmd-Q 退出程序 


Mac关机快捷键为:option + command + 电源键


找沙盒的两种方法:

  NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);

    NSLog(@"-----------------------------------  %@",paths);

    

    NSString *path = NSHomeDirectory();

    NSLog(@"------------------------------------  %@",path);


Xcode在写代码的时候,如果提示太长,而你只需要其中的一截,那么就直接按 空格键喽,这样就可以截取了


  [self.view addSubview:_bankVC.view];


  contentOffset是UIScrollView当前显示区域的顶点相对于frame顶点的偏移量


iOS中init一个对象时,会调用对象的init方法,进入init方法时会调用initWithNibName方法,可调试验证


// 以后自定义控制器建议写这个方法,让控制器一创建出来就拥有某些属性

// init方法内部默认会调用initWithNibName方法

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

         

    }

    return self;

}


contentInset的API文档的解释是"内容视图嵌入到封闭的滚动视图的距离"(哈,英文不是很好,翻译的不好)。可以理解为内容视图的上下左右四个边扩展出去的大小。contentInset的单位是UIEdgeInsets,默认值为UIEdgeInsetsZero,也就是没有扩展的边。下面解释一下UIEdgeInsets,它是一个结构体,定义如下:


[cpp] view plain copy

typedef struct {  

    CGFloat top, left, bottom, right;  

}  


分别代表着上边界,左边界,底边界,右边界,扩展出去的值。


注意在:collectionView 的headView后面是背景图片,而headView 的高度又和背景图片的高度设置为一样的时候,请注意:当设置背景图片的时候需要注意,imageView的模式,如果是充满屏幕就不说了, 如果是按照比例充满, 就有可能会有一部分的图片突出出来,看起来是collectionView的单元格的高度 多少覆盖了headView的高度,这时候,你需要在XIB 或者storyboard上吧clipSubviews 这个选项勾上


UIImageView 如果这是设置了UIImage,但是没有设置frame,那么frame是 frame(0,0,image.width,image.height)


其他控件如果不这是fame 默认是(0,0,0,0);


在用define的时候, 注意当你是计算某个值的时候, 最好将后面的表达式 加上括号(),因为用的时候,只是按照原封不动的 把表达式里面的原封不动的搬过去了,所以很可能出来的结果 数据不对,以后加上()就好了



NSArray 里面的enum 方法,效率和for in 差不多,有时会更快一点,都会在方法结束后才会执行下一个 语句


视图控制器的view的 大小是可以改变的, 但是你不能在viewDidLoad里面改变大小哦,因为,那个时候view还没有创建出来,所以设置是没有用的,你可以用一个延迟的方法把view改变大小的方法写在里面,那样就可以改变view的大小了, 其实view 也是一个UIView 只不过把它放在了window 上,而window的颜色是黑色的。



在非ViewController 的视图中,  .m 文件是没有扩展的,但是自己可以创建,这个其实就是扩展,@interface 后面那个选择 extend那个就出来了,自己可以在扩展里写私有的变量,如下所示:


@interface WaterFallFlowLayout ()


@end



如果是从代码层面开始使用Autolayout,需要对使用的View的translatesAutoresizingMaskIntoConstraints的属性设置为NO.

即可开始通过代码添加Constraint,否则View还是会按照以往的autoresizingMask进行计算.

而在Interface Builder中勾选了Ues Autolayout,IB生成的控件的translatesAutoresizingMaskIntoConstraints属性都会被默认设置NO.   

添加pch 文件最简单的方法:

先创建一个pch文件,名字没所谓了,然后在点击工程,右边的Targets 里面的bulidSetting  搜索Precompile  将预编译文件(Precompile Prefix header) 设置为yes, 然后将Prefix Header 里面写上PCH的路径, 直接pch文件拉过去就好了,路径就会直接出来了,(注意:如果你一直没有搜索到precom,,,你需要看看 最上面的那一栏,你是不是选的Basic,注意,需要选的是all),如上图

在alertController 中,UIAlertActionStyleDefault 一般表示ok,UIAlertActionStyleCancel表示取消,UIAlertActionStyleDestructive一般是保存,当有一点删除或者其他的一些变化的时候用这个,常常看到别人用save,还有就是修饰的是 红色字体,而另外两个是蓝色字体


对于给UIView 添加XIB这个事件,如果用XIB’上面的,那么需要用[NSboundle mainboundle]这个方法获取XIB上面的view,不要用UIVIew的.h和.m了,如果XIB有点击事件,那么就写到.m

中去吧 


备忘录模式存储的是 对象的一种状态,而不是一个对象


控制台字体 大小以及间隔,当你改变控制台字体的类型的时候, 你会发现,下次启动app的时候,控制台字体的间隔特别大, 为什么呢?

要想字体的间隔不那么大, 你就不要改字体类型了,用默认的不会有这种类型,若出现了间隔,那么点击左边的那一栏,选择新的未用过的模板,就好了,想改字体大小可以改,不要改字体类型


在真机调试的时候 不要动不动就fixIssue ,这样会影响其他的证书的, 所以还是乖乖的用证书吧


导出证书,可以 在钥匙串中直接导出



你可能感兴趣的:(iOS)