iOS零星小技巧--02

前言:iOS有许多琐碎的知识点而且是比较简单的(往往我们最容易忽略的),我把所有自己觉得有用的东西从大牛的博客或文章中截取过来,方便自己以后查找(也希望对看文章的你又帮助)

查看提示

01 >> TransForm属性
02 >> 控件不能交互的一些原因
03 >> iOS中的一些手势
04 >> iPhone Size
05 >> 模拟器中文输入法设置
06 >> TableView Header View 跟随Tableview 滚动
07 >> iOS 这10篇热文不容错过
08 >> 插件的安装和管理
09 >> 通知的了解与使用
10 >> 添加pch文件
11 >> 获取当前文件的bundle路径
pragma mark -- 01 >> TransForm属性
//平移按钮
CGAffineTransform transForm = self.buttonView.transform;
self.buttonView.transform = CGAffineTransformTranslate(transForm, 10, 0);
 
//旋转按钮
CGAffineTransform transForm = self.buttonView.transform;
self.buttonView.transform = CGAffineTransformRotate(transForm, M_PI_4);
 
//缩放按钮
self.buttonView.transform = CGAffineTransformScale(transForm, 1.2, 1.2);
 
//初始化复位
self.buttonView.transform = CGAffineTransformIdentity;
pragma mark -- 02 >> 控件不能交互的一些原因
1,控件的userInteractionEnabled = NO
2,透明度小于等于0.01,aplpha
3,控件被隐藏的时候,hidden = YES
4,子视图的位置超出了父视图的有效范围,子视图无法交互,设置了。
5,需要交互的视图,被其他视图盖住(其他视图开启了用户交互)。

pragma mark -- 03 >> iOS中的一些手势
轻击手势(TapGestureRecognizer)
轻扫手势(SwipeGestureRecognizer)
长按手势(LongPressGestureRecognizer)
拖动手势(PanGestureRecognizer)
捏合手势(PinchGestureRecognizer)
旋转手势(RotationGestureRecognizer)
pragma mark -- 04 >> iPhone Size
手机型号    屏幕尺寸
iPhone 4 4s 320 * 480
iPhone 5 5s 320 * 568
iPhone 6 6s 375 * 667
iphone 6 plus 6s plus   414 * 736
pragma mark -- 05 >> 模拟器中文输入法设置
模拟器默认的配置种没有“小地球”,只能输入英文。加入中文方法如下:
选择Settings—>General–>Keyboard–>International KeyBoards–>Add New Keyboard–>Chinese Simplified(PinYin) 即我们一般用的简体中文拼音输入法,配置好后,再输入文字时,点击弹出键盘上的“小地球”就可以输入中文了。
如果不行,可以长按“小地球”选择中文。
pragma mark -- 06 >> TableView Header View 跟随Tableview 滚动
当tableview的类型为 plain的时候,header View 就会停留在最上面。
当类型为 group的时候,header view 就会跟随tableview 一起滚动了。
pragma mark -- 07 >>
  • iOS 这10篇热文不容错过

pragma mark -- 08 >> 插件的安装和管理
1.安装插件:可以直接在GitHub中下载,然后运行这个插件的工程,运行完成后,重启xcode 后选择“Load bundle”
2.删除插件:到~/Library/Application Support/Developer/Shared/Xcode/Plug-ins文件夹中删除对应的插件重启xcode就好了
3.必备插件:
 [文档注释生成](https://github.com/onevcat/VVDocumenter-Xcode)
[自动检索图片名](https://github.com/ksuther/KSImageNamed-Xcode)
[取色](https://github.com/omz/ColorSense-for-Xcode)
[插件管理工具](https://github.com/mneorr/Alcatraz)
pragma mark — 09 >> 通知的了解与使用
  • 通知的使用流程
1--首先,我们在需要接收通知的地方注册观察者,比如:

    //获取通知中心单例对象
    NSNotificationCenter * center = [NSNotificationCenter defaultCenter];
    //添加当前类对象为一个观察者,name和object设置为nil,表示接收一切通知
    [center addObserver:self selector:@selector(notice:) name:@"123" object:nil];

2— 在我们需要时发送通知消息

    //创建一个消息对象
    NSNotification * notice = [NSNotification notificationWithName:@"123" object:nil userInfo:@{@"1":@"123"}];
    //发送消息
       [[NSNotificationCenter defaultCenter]postNotification:notice];
我们可以在回调的函数中取到userInfo内容,如下:

-(void)notice:(id)sender{
    NSLog(@"%@",sender);
}
  • 通知的一些方法
发送通知消息的方法
- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSString *)aName object:(id)anObject;
- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;

移除观察者的方法
- (void)removeObserver:(id)observer;
- (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject;

pragma mark — 10 >> 添加pch文件
步骤:
1.command + N -> iOS (other) -> PCH File(保存的名字一般加项目名) ->复制pch文件路径(从最后复制到倒数第二个/为止)
2. Build settings -> prefix header -> $(SRCROOT)粘贴pch路径
pragma mark — 11 >> 获取当前文件的bundle路径
1.NSBundle *mainBundle = [NSBundle mainBundle];
2.NSBundle *currentBundle = [NSBundle bundleForClass: self];

1.打印出来的是整个工程的bundle路径
2.打印出来的是当前类的bundle路径

疑问:就会问当前类的bundle路径不是和整个工程的一样吗?
#解惑:当我们的当前类是放在一个framework中通过pod导入的,那么这个类的bundle路径就不是工程的bundle路径了

你可能感兴趣的:(iOS零星小技巧--02)