Календарь для iPhone

Я хочу добавить календарь просмотра месяца для моего проекта iPhone, который будет выглядеть идентично приложению iPhone Calendar. Я пробовал как Kal Calendar, так и Tapku. Проблема в том, что Tapku просто не работает (если написано ноябрь 2011 г., а сейчас 31-е число, понедельник. Согласно моему календарю iPhone и Mac это 28-е число. Более того: если бы я выбирал день при каждом втором запуске Tapku, это просто вылетает с EXC_BAD_ACCESS в этом методе:

- (NSDate*) dateSelected{
return [currentTile dateSelected];
}

А в календаре Kal я не могу найти способ добавить свои события, если выбрана дата. Итак, в основном я хочу переопределить

-(void)didSelectDate:(KalDate *)date

так что после выбора любой даты появится новый контроллер представления. В заголовке моего класса у меня есть

@interface MyKalViewController : UIViewController<KalViewDelegate, UITableViewDelegate>

В общем: может кто-нибудь сказать мне, как добавить мой собственный метод didSelectDate или переопределить существующий? Или предложите другой календарь просмотра месяца.

Спасибо

изменить:

Нашел способ сделать это в Kal.

Просто добавь это

if ([self.delegate respondsToSelector:@selector(didSelectDate:)]) {
    [self.delegate performSelector:@selector(didSelectDate:) withObject:[date NSDate]];
}

to

- (void)didSelectDate:(KalDate *)date

в файле KalViewController.m. Также не забудьте установить для делегата значение self в классе, использующем Kal:

kvc = [[KalViewController alloc]init];
kvc.delegate = self;

И создайте в том же классе метод didSelectDate.

Надеюсь, это когда-нибудь поможет кому-нибудь

P.S. добавит ответ по прошествии 8 часов. Или вы можете просто скопировать его, и я выберу ваш лучший ответ: p


person Novarg    schedule 28.11.2011    source источник
comment
И Tapku, и Kal содержат эту демонстрацию, так что попробуйте что-нибудь самостоятельно.   -  person Ankit Chauhan    schedule 28.11.2011


Ответы (1)


Нашел способ сделать это в Kal.

Просто добавь это

if ([self.delegate respondsToSelector:@selector(didSelectDate:)]) {
    [self.delegate performSelector:@selector(didSelectDate:) withObject:[date NSDate]];
}

to

- (void)didSelectDate:(KalDate *)date

в файле KalViewController.m. Также не забудьте установить для делегата значение self в классе, использующем Kal:

kvc = [[KalViewController alloc]init];
kvc.delegate = self;

И создайте в том же классе метод didSelectDate.

Надеюсь, это когда-нибудь поможет кому-нибудь

person Novarg    schedule 29.11.2011