TableView没有显示数据

时间:2016-11-10 16:13:54

标签: ios uitableview

我创建了两个UITableViews来制作drawerController

  1. UITableView未正确显示数据。
  2. tableHeaderView在后​​台有分隔符。
  3. PageControl's x位置正在移动半屏宽度然后我设置它。
  4. Github中有我的项目。

    有mainView:

    - (void)viewDidLoad {
        [super viewDidLoad];
        UITableView *mainTableView=[MainTableView createMainView];
        self.mainTableView=mainTableView;
        self.mainTableView.frame=CGRectMake(0, 0, yScreenWidth, yScreenHeight);
        mainTableView.delegate=self;
        mainTableView.dataSource=self;
        [self.view addSubview:mainTableView];
    
        UITableView *leftMenuTableView=[LeftMenuTableView createLeftMenuView];
        self.leftMenuTableView=leftMenuTableView;
        _leftMenuTableView.backgroundColor=[UIColor colorWithRed:26/256.f green:31/256.f blue:36/256.f alpha:0.7];
        leftMenuTableView.delegate=self;
        leftMenuTableView.dataSource=self;
        [self.view addSubview:leftMenuTableView];
        self.navigationController.navigationBar.barStyle=UIStatusBarStyleLightContent;
        UIButton *leftBar=[[UIButton alloc]initWithFrame:CGRectMake(0, 20, 44, 44)];
        NSString *bundleStr=@"Resource.bundle/";
        NSString *imagePath=[bundleStr stringByAppendingString:@"leftIcon.png"];
        [leftBar setImage:[UIImage imageNamed:imagePath] forState:UIControlStateNormal];
        [leftBar addTarget:self action:@selector(showLeftMenu) forControlEvents:UIControlEventTouchUpInside];
        [self.view insertSubview:leftBar aboveSubview:mainTableView];
    }
    

    dataSource方法:

    #pragma mark - Table view data source
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        if (tableView == _mainTableView) {
            return TryTBData.count;
        }else if (tableView ==_leftMenuTableView){
            return 13;
        }
        return 0;
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *mainCellID=@"main_cell";
        static NSString *leftCell=@"reuseidentifier";
        UITableViewCell *cell=[[UITableViewCell alloc]init];
        if (tableView == _mainTableView) {
            cell=[_mainTableView dequeueReusableCellWithIdentifier:mainCellID];
            if (!cell) {
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:mainCellID];
            }
            cell.textLabel.text=TryTBData[indexPath.row];
        }else if (tableView == _leftMenuTableView){
            cell=[_leftMenuTableView dequeueReusableCellWithIdentifier:leftCell];
            if (!cell) {
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:leftCell];
            }
            cell.textLabel.text=@"22";
        }
        return cell;
    }
    

    mainTableView显示正确的数据,但leftMenuTableView未显示任何数据。 run picture

1 个答案:

答案 0 :(得分:0)

在LeftMenuTableView.m中删除DateTimeOffset

您正在创建[self addMenuTable];对象,然后在其上添加另一个表格视图。

如果你在Xcode中使用Debug View Hierarchy功能,你可以在另一个阻止它们的视图后面看到所有带有“22”的单元格。