2016-04-12 21 views
0

iOS programlamasında yeniyim ve BIG NERD RANCH IOS PROGRAMLAMA 4TH EDITION adlı kitabında UITableViewController oluşturma örneğini takip etmeye çalıştım ancak nibs yerine bir storyboard ile. UIView, UITableView başlığı olarak nasıl başlatılır

her şey, başlık için eklenen UIView i'nin görünmemesi dışında çalışır.

UIViewTableController ürününe UIView öğesini storyboard'daki Prototype Hücrelerinin üstüne ekledim. UIView'de iki düğmem vardı. UITableViewController'ı başlangıç ​​görünümü denetleyicisi olarak ayarlamak, film şeridini storyboard'da tasarladığım gibi belirir. Ancak, AppDelegate.m kullandığımda,

Satırları eklerken UIView görünmez. Ben

yüzden benim sınırlı bilgi ve biraz arama ile çalıştı ... headerView olarak UIView için çıkış atanan ve

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ 

    UIView *header = self.headerView; 
    return header; 

} 

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ 

    return 40; 

} 

O kadar boş gri başlığını i UIView başlatılmadı herhalde gösterir denedi Ben AppDelegate kullandığınızda o görünür böylece

Nasıl başlatmak gerekir çalışmıyor hala
(UIView *) headerView{ 
    if(!_headerView){ 
      _headerView = [_headerView init] 
    } 
    return _headerView 
} 

ekleyerek internette?

+0

çalışır

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; return [storyboard instantiateViewControllerWithIdentifier:@"TableTest"]; 

ile init yöntemi paylaşmaktadır. _headerView = [UIView new] 'ı deneyin; – larva

+1

soru, tablo görünümü başlığı değil, tablo görünümü bölümü başlığı olmalıdır. – Joshua

cevap

0

Ben film şeridi başlatmak için unuttum çıkıyor viewDidLoad yöntemiyle

self.tableView.tableHeaderView = ({ 
     UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 183.0f)]; 
     view.backgroundColor=[UIColor colorWithRed:0.376 green:0.086 blue:0.09 alpha:1]; 
     UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 150, 0, 24)]; 
     label.text = @"ffff"; 
     label.font = [UIFont fontWithName:@"HelveticaNeue" size:21]; 
     label.backgroundColor = [UIColor clearColor]; 
     label.textColor = [UIColor whiteColor]; 
     [label sizeToFit]; 
     label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 


     [view addSubview:label]; 
     view; 
    }); 
0

Bu kodu koydu. iyi de aptalca. I şeridi numarası atanır ve _headerView = [_headerView init] ne