У меня есть представление с двумя UILabels, двумя UITableViews и UITextView. Я пытаюсь развернуть две таблицы на основе того, что они будут отображать. Я могу создать начальные размеры таблицы просто отлично, но когда я иду, чтобы сбросить высоту таблицы на основе ее фактического содержимого, таблица больше не отображается в представлении. Фрагмент кода ниже:Сброс таблицы таблицы таблицы таблицы UiTableView исчезает
-(void)viewDidLoad
{
// code to set up the first two UILabels (one of which is clinic name)
...
//
// Create the address table
//
CGRect addrRect = self.view.bounds ;
CGFloat addrStart = clinicNameRect.origin.y + (clinicNameRect.size.height)*1.5 ;
addrRect.origin.y = addrStart;
addrRect.size.height -= addrStart ; // setting it to size of rest of view which is not what I want
addressList = [[UITableView alloc] initWithFrame:addrRect style:UITableViewStyleGrouped] ;
[addressList setDataSource:self] ;
[addressList setDelegate:self] ;
[addressList setAutoresizingMask:UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth] ;
[addressList setBackgroundColor:clr] ;
[addressList setBackgroundView:nil] ; // no background
[[self view] addSubview:addressList] ; // tried moving this to after with same result
// have the system layout the table, then reset the height to actual size
[addressList layoutIfNeeded];
CGRect newFrame = [addressList frame] ;
newFrame.size.height = [addressList contentSize].height ;
// make the table's frame exactly match its size
[addressList setFrame:newFrame] ;
// go to set up next UITableView...
Если я вынимаю вызов setFrame: мой стол появляется просто отлично (но занимает слишком много места на представлении). Если я оставлю этот вызов, таблица вообще не появится.
Вы используете раскадровки/автозапуск? – Sam
'NSStringFromCGRect' действительно упростит этот код. – Sulthan
Выставление представления программно, потому что я хочу, чтобы вторая таблица двигалась вниз по мере роста первой таблицы. Когда я использовал XIB, когда первая таблица росла, она была закрыта второй таблицей. Может быть, я делал что-то неправильно - все еще нова в этом. –