实例适配ios11

我会带着你远行 2021-09-14 14:46 523阅读 0赞

不多bb,上码

  1. #import "ViewController.h"
  2. #import "PersonViewModel.h"
  3. #import "Person.h"
  4. #import "ShowTableViewCell.h"
  5. #import <Masonry/Masonry.h>
  6. #import <MJRefresh/MJRefresh.h>
  7. @interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
  8. @property (nonatomic,strong)UITableView *showTable;
  9. @property (nonatomic,copy)NSArray *items;
  10. @end
  11. @implementation ViewController
  12. -(void)loadData
  13. {
  14. __weak typeof (self)weakSelf=self;
  15. weakSelf.showTable.mj_header=[MJRefreshNormalHeader headerWithRefreshingBlock:^{
  16. [PersonViewModel persons:^(id obj) {
  17. weakSelf.items=obj;
  18. [weakSelf.showTable reloadData];
  19. [weakSelf.showTable.mj_header endRefreshing];
  20. }];
  21. }];
  22. }
  23. - (void)viewDidLoad {
  24. [super viewDidLoad];
  25. self.showTable=[UITableView new];
  26. self.showTable.delegate=self;
  27. self.showTable.dataSource=self;
  28. [self.showTable registerNib:[UINib nibWithNibName:kShowTableViewCell bundle:[NSBundle mainBundle]] forCellReuseIdentifier:kShowTableViewCell];
  29. self.showTable.separatorStyle=UITableViewCellSelectionStyleNone;
  30. self.showTable.rowHeight=UITableViewAutomaticDimension;
  31. [self.view addSubview:self.showTable];
  32. if(@available(iOS 11.0,*))
  33. {
  34. self.showTable.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;
  35. }
  36. else
  37. {
  38. self.automaticallyAdjustsScrollViewInsets=NO;
  39. }
  40. [self.showTable mas_makeConstraints:^(MASConstraintMaker *make) {
  41. if(@available(iOS 11.0,*))
  42. {
  43. make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop);
  44. make.left.right.equalTo(self.view);
  45. make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);
  46. }
  47. else
  48. {
  49. make.size.equalTo(self.view);
  50. make.center.equalTo(self.view);
  51. }
  52. }];
  53. __weak typeof (self)weakSelf=self;
  54. [weakSelf loadData];
  55. [weakSelf.showTable.mj_header beginRefreshing];
  56. }
  57. #pragma mark table delegate
  58. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  59. {
  60. return 86;
  61. }
  62. -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  63. {
  64. return 1;
  65. }
  66. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  67. {
  68. return self.items.count;
  69. }
  70. -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  71. {
  72. ShowTableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:kShowTableViewCell];
  73. if(cell==nil)
  74. {
  75. cell=[[NSBundle mainBundle]loadNibNamed:kShowTableViewCell owner:self options:nil].lastObject;
  76. }
  77. cell.person=self.items[indexPath.row];
  78. return cell;
  79. }
  80. - (void)didReceiveMemoryWarning {
  81. [super didReceiveMemoryWarning];
  82. // Dispose of any resources that can be recreated.
  83. }
  84. @end

发表评论

表情:
评论列表 (有 0 条评论,523人围观)

还没有评论,来说两句吧...

相关阅读

    相关 IOS11界面问题

    兴冲冲升级Xcode 9+iOS 11后,发现我的项目变得乱七八糟,主要体现在tableview、导航栏这两个方面; 赶紧逐个查看,发现了以下四个问题: 1.tablevi

    相关 关于iOS 11

    距离iOS 11正式发布也有小半年了, 陆陆续续也看到许多关于iOS 11和iPhone X适配相关的文章, 现记录下自己做适配所做的工作 首先给出自己适配所用到的宏定义,