0
我在我的iOS應用程序中使用TAPKU日曆。在tapku日曆中加載完整數據後,我想在日期圖塊上添加更多標記。如何在tapku中加載日曆後在日期圖塊上添加更多標記?
我從異步過程中獲得一些額外的數據,並且我想在日曆上標記這些數據。
我該怎麼做。提前致謝。
我在我的iOS應用程序中使用TAPKU日曆。在tapku日曆中加載完整數據後,我想在日期圖塊上添加更多標記。如何在tapku中加載日曆後在日期圖塊上添加更多標記?
我從異步過程中獲得一些額外的數據,並且我想在日曆上標記這些數據。
我該怎麼做。提前致謝。
這的確是可能的,因爲在日曆視圖的例子,修改_refreshDataPageWithAtIndex是這樣的:
- (void) _refreshDataWithPageAtIndex:(NSInteger)index{
UIScrollView *sv = self.pages[index];
TKTimelineView *timeline = [self _timelineAtIndex:index];
CGRect r = CGRectInset(self.horizontalScrollView.bounds, HORIZONTAL_PAD, 0);
r.origin.x = self.horizontalScrollView.frame.size.width * index + HORIZONTAL_PAD;
sv.frame = r;
timeline.startY = VERTICAL_INSET;
for (UIView* view in sv.subviews) {
if ([view isKindOfClass:[TKCalendarDayEventView class]]){
[self.eventGraveYard addObject:view];
[view removeFromSuperview];
}
}
if(self.nowLineView.superview == sv) [self.nowLineView removeFromSuperview];
if([timeline.date isTodayWithTimeZone:self.timeZone]){
NSDate *date = [NSDate date];
NSDateComponents *comp = [date dateComponentsWithTimeZone:self.timeZone];
NSInteger hourStart = comp.hour;
CGFloat hourStartPosition = hourStart * VERTICAL_DIFF + VERTICAL_INSET;
NSInteger minuteStart = round(comp.minute/5.0) * 5;
CGFloat minuteStartPosition = roundf((CGFloat)minuteStart/60.0f * VERTICAL_DIFF);
CGRect eventFrame = CGRectMake(self.nowLineView.frame.origin.x, hourStartPosition + minuteStartPosition - 5, NOB_SIZE + self.frame.size.width - LEFT_INSET, NOB_SIZE);
self.nowLineView.frame = eventFrame;
[sv addSubview:self.nowLineView];
}
if(!self.dataSource) return;
timeline.events = [NSMutableArray new];
[self.dataSource calendarDayTimelineView:self eventsForDate:timeline.date andEvents:timeline.events success:^{
[timeline.events sortUsingComparator:^NSComparisonResult(TKCalendarDayEventView *obj1, TKCalendarDayEventView *obj2){
return [obj1.startDate compare:obj2.startDate];
}];
[self _realignEventsAtIndex:index];
if(self.nowLineView.superview == sv)
[sv bringSubviewToFront:self.nowLineView];
}];
}
,然後改變你的eventsForDate功能看起來像這樣:
- (void) calendarDayTimelineView:(TKCalendarDayView*)calendarDayTimeline eventsForDate:(NSDate *)eventDate andEvents:(NSMutableArray *)events success:(void (^)())success {
[Model doSomethingAsync andSuccess:^(NSArray *classes) {
// .. Add stuff to events..
success();
}];
}
我假設其他控件的模式非常相似。前提是您需要繼續格式化/佈局流程,直到獲取數據。