RQPlaceDetailDescribeViewController.m 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // RQPlaceDetailDescribeViewController.m
  3. // JiaPei
  4. //
  5. // Created by 张嵘 on 2023/4/17.
  6. //
  7. #import "RQPlaceDetailDescribeViewController.h"
  8. @interface RQPlaceDetailDescribeViewController ()
  9. /// viewModel
  10. @property (nonatomic, readonly, strong) RQPlaceDetailDescribeViewModel *viewModel;
  11. @end
  12. @implementation RQPlaceDetailDescribeViewController
  13. @dynamic viewModel;
  14. - (void)viewDidLoad {
  15. [super viewDidLoad];
  16. self.tableView.backgroundColor = UIColor.whiteColor;
  17. }
  18. #pragma mark - OverrideMethods
  19. /// 配置tableView的区域
  20. - (UIEdgeInsets)contentInset {
  21. return UIEdgeInsetsMake(10, 0, RQ_APPLICATION_SAFEAREA_BOTTOM_HEIGHT, 0);
  22. }
  23. - (UITableViewCell *)tableView:(UITableView *)tableView dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath {
  24. RQCommonGroupViewModel *groupViewModel = self.viewModel.dataSource[indexPath.section];
  25. RQCommonItemViewModel *itemViewModel = groupViewModel.itemViewModels[indexPath.row];
  26. return [NSClassFromString(itemViewModel.itemClassName) cellWithTableView:tableView];
  27. }
  28. - (void)configureCell:(RQCommonCell *)cell atIndexPath:(NSIndexPath *)indexPath withObject:(id)object {
  29. [cell bindViewModel:object];
  30. }
  31. #pragma mark - UITableViewDelegate & UITableViewDataSource
  32. - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
  33. !self.scrollCallback ?: self.scrollCallback(scrollView);
  34. }
  35. - (UIView *)listView {
  36. return self.view;
  37. }
  38. - (UIScrollView *)listScrollView {
  39. return self.tableView;
  40. }
  41. - (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback {
  42. self.scrollCallback = callback;
  43. }
  44. @end