设置标签 ‘UIDevice’

如何让某个ViewController支持屏幕旋转 来自Mars

看到这篇不错, 直接转载过来了, 没什么可解释的,一看就明白 :)

出处: http://www.marsiphone.cn/tag/uidevice/

整个程序需要支持横竖屏切换得时候,会比较简单,在每个ViewController 的

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

方法中,return YES; 就好。

可如果只是要某个VC( = View Controller)支持横竖屏切换呢?单独在那个view controller中像上面那样做是没有效果的。

这个时候我们可以取 UIDevice的 Orientation来判定:

1、在VC中注册 UIDevice 的 UIDeviceOrientationDidChangeNotification 通知:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

[center addObserver:self selector:@selector(doRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];

2、在自己的 doRotate函数里面处理:

- (void)doRotate:(NSNotification *)notification{

UIDevice *myDevice = [UIDevice currentDevice];

UIDeviceOrientation deviceOrientation = [myDevice orientation];

UIApplication *app = [UIApplication sharedApplication];

[app setStatusBarOrientation:deviceOrientation];

}

3.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

也是要 return YES;

iPhone Development Kit: IMIBase升级到0.6

整个项目在这儿: http://b.imi.im/?page_id=40
总结一下功能(这只是一部分功能):

  • IMILog 和 IMIDevLog (功能和NSLog类似,但是可以随时关闭所有打印,提高程序性能) 其中DevLog可以打印出函数名,文件名,找bug非常方便
  • 直接获取常用文件夹路径,如: [UIApplication appDir] 是程序安装目录(只读); [UIApplication docDir] 是程序的文档目录(读写权限,一般存数据的地方)
  • 判断文件是否存在: FileExistAt(NSString *filepath)
  • 读取bundled文件: BundledFilePath(NSString* name, NSString* bundleName)
  • 获取手机剩余内存数: [UIDevice availableMemory]
  • 截屏: [UIDevice screenShot]
  • 获取手机WIFI的IP地址: [UIDevice WIFIAddress]; 现在大部分的例子要么是模拟器获得不到要么是肯定被苹果拒的
  • 判断手机当前是不是WIFI连接: [UIDevice isWIFIConnected];
  • 生成唯一识别 UUID: [NSString stringWithUUID]
  • MD5加密字符串: [@"aabb" MD5]
  • 获取某文件的MD5值, 可以判断文件是否被更改
  • 通过路径获得文件名,文件类型,文件的父级文件夹
  • Base64编码
  • 如果发现bug,或有什么建议,欢迎直接留言/GTalk

    回到顶部

    关于我:

  • iPhone 开发者. 自由职业者.
  • 苹果忠实用户. 完美主义者.
  • Email/iChat/MSN/GTalk: i@imi.im
  • Twitter/Sina: @TraWor
  •  

    Switch to our mobile site