2016-11-10 131 views
1

我创建了两个UITableViews来制作一个drawerControllerTableView没有显示数据

  1. 左侧UITableView未正确显示数据。
  2. tableHeaderView在后台有分隔符。
  3. PageControl's x位置正在移动半屏宽度的差异,然后我设置它。

我的项目有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 *[email protected]"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 *[email protected]"main_cell"; 
    static NSString *[email protected]"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]; 
     } 
     [email protected]"22"; 
    } 
    return cell; 
} 

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

回答

0

在LeftMenuTableView.m中删除[self addMenuTable];

您正在创建您的LeftMenuTableView对象,然后在其上添加另一个表视图。

如果您使用Xcode中的Debug View Hierarchy功能,您可以看到所有其中包含“22”的单元格位于阻止它们的另一个视图之后。