2010-10-05 18 views
7

Potrzebuję umieścić przycisk bezpośrednio nad dynamicznie wypełnianą UIViewTable. To czuje się w prawo, aby nie zapełnić pierwszą komórkę (wiersz 0), ale raczej wykorzystać obszar nagłówka, więc używam metody UITableViewDelegate programowo utworzyć UIView zawierający UIButton:Dodawanie UIButton w nagłówku nagłówka UITableView

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{   
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0,0, 320, 44)] autorelease]; // x,y,width,height 

    UIButton *reportButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];  
    reportButton.frame = CGRectMake(80.0, 0, 160.0, 40.0); // x,y,width,height 
    [reportButton setTitle:@"rep" forState:UIControlStateNormal]; 
    [reportButton addTarget:self 
        action:@selector(buttonPressed:) 
      forControlEvents:UIControlEventTouchDown];   

    [headerView addSubview:reportButton]; 
    return headerView;  
} 

Jednakże, jak przedstawiono poniżej, przycisk nie ma wymaganego miejsca (spodziewałem się, że wysokość nagłówka będzie zgodna z argumentem 44).

Co jest nie tak? Powinienem dodać, że UITableView jest tworzony w oddzielnym pliku XIB.

alt text

Odpowiedz

7

czy zaimplementowałeś - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section?

+2

Szkoda, że ​​mogę nagrodzić tylko jedną odpowiedź. Dzięki. – maralbjo

Powiązane problemy