2016-11-10 13 views
1

drawerControllerを作成するためにUITableViewsの2つを作成しました。TableViewにデータが表示されません

  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];を取り除く。

オブジェクトを作成し、その上に別のテーブルビューを追加しています。

Xcodeでデバッグビュー階層機能を使用すると、ブロックしている別のビューの背後に「22」のあるすべてのセルが表示されます。

関連する問題