3
我正在开发基于日历的应用程序,并且我的客户需要在用户选择的特定日期设置图像。如何在日历视图中设置图像iPhone
例如,如果我选择1和20,图像将在两个日期上设置。
现在我可以设置图像仅对于一个日期即,如果我选择1的图像被设置在该日期,当我选择20上1中设定的图像将消失,图像将设置仅20.
任何人都可以请帮助我如何做到这一点。
在此先感谢。
我正在开发基于日历的应用程序,并且我的客户需要在用户选择的特定日期设置图像。如何在日历视图中设置图像iPhone
例如,如果我选择1和20,图像将在两个日期上设置。
现在我可以设置图像仅对于一个日期即,如果我选择1的图像被设置在该日期,当我选择20上1中设定的图像将消失,图像将设置仅20.
任何人都可以请帮助我如何做到这一点。
在此先感谢。
我终于找到了解决方案。我在该方法中完成了,并且专家可以为此提出更好的方法。
- (void)selectButtonForDate:(NSDate *)aDate {
if (selectedButton >= 0) {
NSDate *todayDate = [CalendarLogic dateForToday];
UIButton *button = [buttonsIndex objectAtIndex:selectedButton];
CGRect selectedFrame = button.frame;
if ([selectedDate compare:todayDate] != NSOrderedSame) {
selectedFrame.origin.y = selectedFrame.origin.y + 1;
selectedFrame.size.width = kCalendarDayWidth;
selectedFrame.size.height = kCalendarDayHeight;
}
button.selected = NO;
button.frame = selectedFrame;
self.selectedButton = -1;
self.selectedDate = nil;
}
if (aDate != nil) {
// Save
CGRect dayFrame;
NSDate *dayDate;
NSInteger numberOfWeeks = 5;
// NSCalendar *calendar = [NSCalendar currentCalendar];
// NSDateComponents *components = [calendar components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:[NSDate date]];
// NSDate *todayDate = [calendar dateFromComponents:components];
for (NSInteger aWeek = 0; aWeek <= numberOfWeeks; aWeek ++) {
CGFloat positionY = (aWeek * kCalendarDayHeight) + 60;
for (NSInteger aWeekday = 1; aWeekday <= numberOfDaysInWeek; aWeekday ++) {
CGFloat positionX = ((aWeekday - 1) * kCalendarDayWidth) - 1;
dayFrame = CGRectMake(positionX, positionY, kCalendarDayWidth, kCalendarDayHeight);
dayDate = [CalendarLogic dateForWeekday:aWeekday
onWeek:aWeek
referenceDate:[name referenceDate]];
// NSLog(@" %@ todaydate [datesIndex objectAtIndex:[sender tag] %@",todayDate,[datesIndex objectAtIndex:[sender tag]]);
// NSDate *mmm = [datesIndex objectAtIndex:[sender tag]];
if ([dayDate isEqualToDate:aDate]) {
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
flag = 1;
[n addObject:[NSValue valueWithCGRect:dayFrame]];
[currentDefaults setObject:[NSKeyedArchiver archivedDataWithRootObject:n] forKey:SaveMonth];
[currentDefaults synchronize];
}
}
}
if(flag == 1){
flag = 0;
for (int i=0;i<[n count];i++){
UIImageView *im = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"call.png"]] ;
CGRect myRect = [[n objectAtIndex:i] CGRectValue];
// NSLog(@"n is %@",n );
// NSLog(@"frame 111111111111111 = %@\n", NSStringFromCGRect(myRect));
im.frame = myRect;
[self addSubview:im];
}
}
嗨,我也尝试做同样的事情。你在使用KAL库还是其他的东西? – AtWork 2013-06-07 06:46:09
检查此链接:http://stackoverflow.com/a/8399779/845115 – 2012-02-15 12:04:00
什么是你用来显示日历,这大部分是一些自定义的,因为iOS的SDK不提供组件这样。 – rckoenes 2012-02-15 12:06:08
@MuditBajpai现在我可以设置图像的一个日期,但需要设置图像多个日期。请你帮我。 – suji 2012-02-15 12:06:23