2013-06-25 1 views
1

У меня есть календарь Tapku и вид таблицы под ним. Календар не имеет статической высоты, он зависит от количества строк в нем, который отличается в течение нескольких месяцев. Как и в течение нескольких месяцев, в нем есть 5 строк и около 6 строк. Я хочу установить рамку таблицы, чтобы она начиналась с того места, где заканчивается календарь. Я пробовал способ, упомянутый ниже, но не работает.Установите раму UITableView в соответствии с высотой календаря Tapk

- (void)calendarMonthView:(TKCalendarMonthView *)monthView monthDidChange:(NSDate *)d { 
NSLog(@"calendarMonthView monthDidChange:%@",d); 

    [self.mTableView setFrame:CGRectMake(0, calendar.frame.origin.y + calendar.frame.size.height, 320, 308 - calendar.frame.size.height - calendar.frame.origin.y)]; 
    [self.mTableView reloadData]; 

NSLog(@"calendar height:%f", calendar.frame.size.height); 
} 

Печать на календаре Высота: 0.000000 в консоли. Пожалуйста, руководство для выше.

ответ

1

Если это по-прежнему актуальна для вас, попробуйте это из файла TKCalendarMonthTableViewController.m в TapkuLibrary под UI> Календарь> Месяц, он работал на меня, у меня был точно такой же вопрос, что и вы:

- (void)calendarMonthView:(TKCalendarMonthView *)monthView monthDidChange:(NSDate *)month animated:(BOOL)animated { 
    [self updateTableOffset:animated]; 
} 

- (void) updateTableOffset:(BOOL)animated{ 

    if(animated){ 
     [UIView beginAnimations:nil context:nil]; 
     [UIView setAnimationDuration:0.4]; 
     [UIView setAnimationDelay:0.1]; 
    } 


    float y = self.monthView.frame.origin.y + self.monthView.frame.size.height; 
    self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, y, self.tableView.frame.size.width, self.view.frame.size.height - y); 
    if(animated) [UIView commitAnimations]; 
} 

Для регулировки высоты с самого начала, на loadView, я просто выбрал дату после инициализации календарь:

calendar = [[TKCalendarMonthView alloc] initWithSundayAsFirst:NO]; 
[calendar selectDate:[NSDate date]]; 

Таким образом, кадр не только корректируется после monthDidChange ..

надеюсь, что это помогло!

Смежные вопросы