2011-04-02 30 views
5

numaralı bölümdeki düğmeleri eklediğinizde iOS programlamasında yeniyim. Farklı kurslar arasında gezinmek için navigasyon için bir tablo görünümü olan bir Ders Yönetim Sistemi için bir uygulama yapıyorum. Satır yerine, tablonun her bölümüne düğme eklemek istiyorum.UITableView,

Örneğin, eğer kurs CS101 altında 5 öğe bulunuyorsa, 5 sırayı temsil eden 2 satır ve 2 düğmeyi temsil eden CS101 adlı üstbilgiyi tıklattığımda 5 simgenin (UIButton's) görünmesini istiyorum.

Bunu yapmayı nasıl yaparım? Eğer bu mümkün mü?

Çok teşekkürler! Satyam

cevap

21

Evet, bu mümkündür. UITableView temsilci yöntemlerini kullanmanız ve TableView başlığındaki tüm Düğmelerle Görünüm'ü eklemeniz gerekir.

İlk önce UITableView Delegesi & Veri kaynağını ayarlayın, ardından aşağıdaki kodla devam edin. Bir görünümü şey 20. olurdu o başlık varsayılan olarak beri başlığındaki için yüksekliğini ayarlamak eklendikten sonra ayarlamak gerekir, böylece

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
// create the parent view that will hold header Label 
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 44.0)]; 

// create the button object 
UIButton * headerBtn = [[UIButton alloc] initWithFrame:CGRectZero]; 
headerBtn.backgroundColor = [UIColor clearColor]; 
headerBtn.opaque = NO; 
headerBtn.frame = CGRectMake(10.0, 0.0, 100.0, 30.0); 
[headerBtn setTitle:@"<Put here whatever you want to display>" forState:UIControlEventTouchUpInside]; 
[headerBtn addTarget:self action:@selector(ActionEventForButton:) forControlEvents:UIControlEventTouchUpInside]; 
[customView addSubview:headerBtn]; 

return customView; 
} 

:

Bunun için aşağıdaki kodu takip edebilirsiniz Bu, başlığa eklenen Görünüm Yüksekliğinize göre. Mutlaka size çok yardımcı olduğunu

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
return 100.0; 
} 

Umut ... bunun için :)

+0

'u kullanabilirsiniz. UITableViewCell'i alt sınıflara ayırdım ve arayüz oluşturucu kullanarak iki düğmeyle kendi tablo hücrelerini oluşturdum ve daha sonra UITableViewDelegate ve DatasourceDelegate temsilcilerinin bir ana bilgisayarını kullandım. – Satyam

+0

Evet. ...Teşekkürler :) –

1

Eğer eylem üzerinde bir UIButton

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

içerirler bu temsilci bir UIView dönmek zorunda Bu düğme, simgelerini göstermek istediğiniz satır sayısını ekleyebilir ve yeni eklenen satırlar bir UIButton içerir. Satır eklemek için

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation