2016-11-10 9 views
-1

私は2カスタムtableViewsを作成テーブルビューでheaderVIewを表示することはできません。は、私はこのコードを使用する場合、正しく

UITableView *mainTableView=[[MainTableView alloc]init]; 
self.view=mainTableView; 

このコードは正しい表示を示しています。私のheaderViewには何が起こったのですか?

WRONGRIGHT

UPDATE:MainTableView.m

+(instancetype)createMainView 
{ 
    return [[self alloc]init]; 
} 
-(instancetype)initWithFrame:(CGRect)frame 
{ 
    self=[super initWithFrame:frame]; 
    [self addmainTableView]; 
    [self addHeadImageViewAndPageControl]; 
    [self addTitleLabelAndNavigationButton]; 
    return self; 
} 
#pragma mark -add view to main view 
-(void)addHeadImageViewAndPageControl 
{ 
    UIScrollView *headImageView=[[UIScrollView alloc]init]; 
    headImageView.frame=CGRectMake(0, 0, yScreenWidth, yScreenHeight/3); 
    headImageView.backgroundColor=[UIColor redColor]; 
    self.tableHeaderView=headImageView; 
    //add pagecontroll 
    UIPageControl *headPageControl=[[UIPageControl alloc]initWithFrame:CGRectMake(-100, yScreenHeight/3-30, yScreenWidth/3, 25)]; 
    headPageControl.numberOfPages=5; 
    headPageControl.pageIndicatorTintColor=[UIColor lightGrayColor]; 
    headPageControl.currentPageIndicatorTintColor=[UIColor whiteColor]; 
    headPageControl.currentPage=1; 
    [self.tableHeaderView addSubview:headPageControl]; 
} 

は、これが私のheaderViewです。

+0

?投稿したコードは、ヘッダービューを作成または表示しようとしません。 – rmaddy

+0

詳細を提供するbuddy @rmaddyが正しいです。 – sanman

答えて

2

コードの問題はTableviewのフレームに設定されていません。 tableViewをself.viewに追加する前に、以下のコードを記述してください。

self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; 

かどうヘッダビュー

self.tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
+0

だがなぜself.view = mainTableView;作品ですか? – yangOne

+0

私は確信していませんが、私は 'self.view'デフォルトが画面に合っていると思います。この場合、mainTableViewは元の 'self.view'に自動的に適合します。 – nynohu

関連する問題