2016-11-10 152 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」的單元格位於阻止它們的另一個視圖之後。