2009-08-23 19 views

Odpowiedz

2

Można wdrożyć tableView:willBeginEditingRowAtIndexPath: delegatów widoku tabeli i tableView:didEndEditingRowAtIndexPath:, aby dowiedzieć się, kiedy dany wiersz (a tym samym tabela) wchodzi i wychodzi z trybu edycji, odpowiednio.

Stamtąd można po prostu dostosować wartość właściwości frame.size.height widoku tabeli (opcjonalnie wewnątrz bloku animacji UIView). Pomocne może być również sprawdzenie właściwości editing widoku tabeli jako całości wewnątrz metod delegatów, w przypadku gdy otrzymasz wiele połączeń z dowolną metodą delegowania przed otrzymaniem jakichkolwiek połączeń z ich komplementarnymi metodami.

Więcej informacji:

  • UITableView: editing nieruchomość
  • UITableViewDelegate: tableView:willBeginEditingRowAtIndexPath: metoda (didEndEditing jest również w tym dokumencie)
5

Musisz ustawić granice tableview:

CGRect tvbounds = [tableView bounds]; 
[tableView setBounds:CGRectMake(tvbounds.origin.x, 
           tvbounds.origin.y, 
           tvbounds.size.width, 
           tvbounds.size.height + 20)]; 
13

Zauważyłem, że manipulowanie właściwością "ograniczenia" może spowodować nieoczekiwane zachowanie, gdy masz pływającą tabelę wewnątrz innego widoku. Czasami stół podnosi się w górę podczas zwiększania wysokości, mimo że pochodzenie nadal wynosi 0,0.

"Klatka" właściwość może być bardziej efektywny:

CGRect tvframe = [tableView frame]; 
[tableView setFrame:CGRectMake(tvframe.origin.x, 
           tvframe.origin.y, 
           tvframe.size.width, 
           tvframe.size.height + 20)]; 
Powiązane problemy