iOS 开发之纯代码写 UI 相关的点点滴滴

Write One,Run Everywhere 之 RuntimeSize( )

没错这是宏定义

/** ** ** ** ** ** ** ** UI 适配 ** ** ** ** ** ** ** **/
#define K_ScreenW [UIScreen mainScreen].bounds.size.width
#define K_ScreenH [UIScreen mainScreen].bounds.size.height

#define K_IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

#define K_DefultSize (K_IS_IPHONE ? 375.00 : 768.00)
// 判断设配状态(竖屏 / 横屏)
#define K_DeviceISVertical ((K_ScreenH > K_ScreenW) ? 1 : 0)

#define K_DeviceDefultSize (K_DeviceISVertical ? K_ScreenH : K_ScreenW)

#define K_Scale (K_DeviceISVertical ? (K_ScreenW/K_DefultSize) : (K_ScreenH/K_DefultSize))

#define RuntimeSize(R) ((R)*K_Scale)
/** ** ** ** ** ** ** ** UI 适配 ** ** ** ** ** ** ** **/

使用方法

UIView *view = [UIView new];
view.backgroundColor = [UIColor blackColor];
view.frame = CGRectMake(((K_ScreenW - RuntimeSize(50))/2),
                        ((K_ScreenH - RuntimeSize(100))/2),
                        RuntimeSize(50),
                        RuntimeSize(100));
[self.view addSubview:view];

注意:如果 APP 需要支持横屏和竖屏的话,当设备旋转时需要更新约束!

不定期更新...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,079评论 2 59
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,026评论 3 119
  • 我们每天忙碌着,不停的生活,不断的让自己变的更好,不断的追求着美好的生活品质,我们累,也无奈,人生!来世间走一圈,...
    宿命里的我们阅读 193评论 0 0
  • 如果你不够优秀,人脉是不值钱的,它不是追求来的,而是吸引来的。在不够优秀之前,放弃你的社交多学习,修炼内功吧,等你...
    姜月萍阅读 187评论 0 0