/ / UITextView v TableCell, Ako nastaviť správnu šírku pre aplikáciu Universal - iphone, ipad, uitableview, uitextview, univerzálne

UITextView v TableCell, Ako nastaviť správnu šírku pre aplikáciu Universal - iphone, ipad, uitableview, uitextview, univerzálny

Používam UITextView v bunke tableView na editovanie textu.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITextField *textName = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 270, 24)];

[cell addSubview:textName];
[textName release];

}

To funguje, ale keď to bežíte na iPad, nie je to správne.

Snažil som sa určiť šírku použitia buniek cell.contentView.frame.size.width

ale to vždy vráti 320,0 pre iPhone i iPad

Aj na iPad, keď v režime na šírku by nemala byť šírka bunky väčšia?

Teo

odpovede:

2 pre odpoveď č. 1

V ideálnom prípade by ste mali vytvoriť vlastný UITableViewCell a upravte svoje veľkosti / pozície v ovládaní layoutSubviews.

Ak sa chystáte pridať ovládací prvok tableView:cellForRowAtIndexPath:, potom môžete získať šírku od samotnej tabuľky:

UITextField *textName = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width-50, 24)];

1 pre odpoveď č. 2
  1. Bunka iPadu sa po pridaní do tabuľky zmení na veľkosť. Ak chcete zmeniť textové pole s bunkou, môžete urobiť niečo podobné textName.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight.
  2. Mali by ste pridať vlastné pohľady na obsahView (t. [cell.contentView addSubview:textName]). Zobrazenie obsahu sa automaticky zmenšuje, okrem iného, ​​pri spracovaní režimu úprav.

Podtriedenie UITableViewCell je trochu nadmerné, ak chcete len upraviť rozloženie - je to môj dojem, že automatické zmenšenie veľkosti je rýchlejšie ako manuálne dimenzovanie pomocou rozloženia rozvrhov.