我正在尝试在iOS 7应用程序中创建一个与内置日历应用程序类似的日历屏幕,该应用程序显示日历月视图,其下方有UITableView
。但是,我所追求的是UITableView
自动耗尽日历下方的所有可用空间 - 一个月显示5周需要的空间比一个月需要4周。
我使用Vurig Calendar框架作为日历,将其作为subView
添加到主视图中。我在StoryBoard中创建了UITableView
,所以它的位置是固定的。我不确定如何重新绘制UITableView
以使其使用可用空间?是否可以检测日历的底部subView
,然后将UITableView
推到显示屏上的那一点?
以下是一些图片,以显示我的意思更清晰:
答案 0 :(得分:1)
在您的代码中,我相信您有一些属性,例如calendarView和tableView
在viewDidLoad中,您可以添加
CGRect calendarFrame = calendarView.frame;
CGRect tableViewFrame = tableView.frame;
tableViewFrame.origin.y = calendarFrame.origin.y+calendarFrame.size.height;
tableView.frame = tableViewFrame;
答案 1 :(得分:1)
您可以在VRGCalendarViewDelegate方法
中进行以下更改-(void)calendarView:(VRGCalendarView *)calendarView switchedToMonth:(int)month targetHeight:(float)targetHeight animated:(BOOL)animated
{
NSTimeInterval animationDuration = animated ? 0.3 :0.0;
[UIView animateWithDuration:animationDuration animations:^{
CGRect frame = self.tableView.frame;
frame.origin.y = CGRectGetMinX(calendarView.frame) + targetHeight;
frame.size.height = self.view.frame.size.height - frame.origin.y;
self.tableView.frame = frame;
}];
}
答案 2 :(得分:0)