zoukankan      html  css  js  c++  java
  • ios-屏幕适配(代码)

    由于第一个项目中98%的界面都用到UITableView,所以适配仅判断此。知道手工敲代码的繁复,遂传一部分,如果有更优的方法,欢迎提出。

    如下图,图中提到的宏定义是在prefix.pch预编绎文件里定义好的全局变量。

     1 //设备判断
     2 #define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568)
     3 #define IOS7_OR_LATER  ([[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending)
     4 
     5 //设备Size
     6 #define Screen_height [[UIScreen mainScreen] bounds].size.height
     7 #define Screen_width [[UIScreen mainScreen] bounds].size.width
     8 #define Page_height (IOS7_OR_LATER ? Screen_height : (Screen_height - 20))
     9 
    10 //appdele
    11 #define AppDelegateObj [[UIApplication sharedApplication] delegate]
    12 
    13 //通用高度
    14 #define StatusHeight (IOS7_OR_LATER ? 20 : 0) //状态栏高度
    15 #define TopBarHeight 44  //顶部导航高度
    16 #define BottomBarHeight  47 //底部导航高度
    17 
    18 //设置背景色
    19 #define Screen_BackGround [UIColor colorWithRed:240.0/250 green:239.0/250 blue:245.0/250 alpha:1.0]
    View Code

     1 UITableView* tableView = nil;
     2     if (IPHONE5)
     3     {
     4         if (sysio71)
     5         {
     6             tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight) style:UITableViewStylePlain];
     7         }else if (sysio7)
     8         {
     9             tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight) style:UITableViewStylePlain];
    10         }
    11         else
    12             tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight - 20) style:UITableViewStylePlain];
    13     }
    14     else
    15     {
    16         if (sysio71)
    17         {
    18             tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight ) style:UITableViewStylePlain];
    19         }
    20         else if (sysio7)
    21         {
    22             tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight ) style:UITableViewStylePlain];
    23         }
    24         else
    25             tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight - 20) style:UITableViewStylePlain];
    26     }
    View Code  
  • 相关阅读:
    2020-10-03:java中satb和tlab有什么区别?
    2020-10-02:golang如何写一个插件?
    2020-10-01:谈谈golang的空结构体。
    2020-09-30:谈谈内存对齐。
    2020-09-29:介绍volatile功能。
    2020-09-28:内存屏障的汇编指令是啥?
    2020-09-27:总线锁的副作用是什么?
    2020-09-26:请问rust中的&和c++中的&有哪些区别?
    自定义刷新控件的实现原理
    scrollView的bounds
  • 原文地址:https://www.cnblogs.com/xm5mao/p/3967074.html
Copyright © 2011-2022 走看看