IOS学习 零碎代码备忘

1、AppDelegate直接加载xib文件
  1.  [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil];  
  2.     [self.window addSubview:self.rootController.view];  

2、 UIActionSheet部分区域点击失效问题

在开发过程中,发现有时候UIActionSheet的最后一项点击失效,点最后一项的上半区域时有效,这是在特定情况下才会发生,这个场景就是试用了UITabBar的时候才有。解决办法:

在showView时这样使用,[actionSheet showInView:[UIApplication sharedApplication].keyWindow];或者[sheet showInView:[AppDelegate sharedDelegate].tabBarController.view];这样就不会发生遮挡现象了。


3、由字符串转选择器

SELaction=NSSelectorFromString([actionQueueobjectAtIndex:i]);


4、判断方法存在,并执行

if([targetrespondsToSelector:action]){  [targetperformSelector:actionwithObject:nil];  }


5、获取系统版本

  1. #ifndef IOS_VERSION  
  2. #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]  
  3. #endif  


IOS开发中如何区分IOS版本

// 当前系统支持的最小版本

__IPHONE_OS_VERSION_MIN_REQUIRED

// 当前系统支持的最大版本

__IPHONE_OS_VERSION_MAX_ALLOWED

//比如用 iPhone OS SDK 3.1.2 编译的程序

 

 

__IPHONE_OS_VERSION_MIN_REQUIRED == __IPHONE_3_0

__IPHONE_OS_VERSION_MAX_ALLOWED == __IPHONE_3_1

//这时,我们可以在程序中使用下面类似的 $ifdef 语句:

 

 

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_2_2

    // iPhone OS SDK 3.0 以后版本的处理

#else

    // iPhone OS SDK 3.0 之前版本的处理

#endif

//又或者 iPhone OS SDK 4 推出的时候,可以:

 

 

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_2_2

    #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_3_1

        // iPhone OS SDK 4.0 以后版本的处理

    #else

        // iPhone OS SDK 3.0 ~ 4.0 版本的处理

    #endif

#else

    // iPhone OS SDK 3.0 之前版本的处理

#endif

5、子线程中获取主线程,并执行相关动
[[AppDelegate shared] performSelectorOnMainThread:@selector(pageLoaded:)                                              withObject:document                                           waitUntilDone:YES];

你可能感兴趣的:(IOS学习 零碎代码备忘)