2013-02-12 4 views
2

J'essaie d'ajouter le calendrier Tapku à mon application. J'utilise des storyboards, j'ai ajouté la bibliothèque Tapku, importé les fichiers nécessaires et ajouté les méthodes TKCalendarMonthViewDelegate. J'ajoute le calendrier à un UIView appelé calendarView. Quand je cours l'application le calendrier n'apparaît pas, juste la vue avec rien dedans.Ajouter calendrier Tapku à l'application

-(void)viewDidLoad 
{ 
[super viewDidLoad]; 
[self.navigationController setNavigationBarHidden:NO animated:YES]; 

self.navigationItem.hidesBackButton = YES; 
calendar = [[TKCalendarMonthView alloc] init]; 
calendar.delegate = self; 
calendar.dataSource = self; 
calendar.frame = CGRectMake(0, 0, calendar.frame.size.width, calendar.frame.size.height); 

// Ensure this is the last "addSubview" because the calendar must be the top most view layer 
[self.view addSubview:calendar]; 
[calendar reload]; 

// Do any additional setup after loading the view. 
} 

Quelqu'un peut-il m'aider s'il vous plaît?

+0

http://developinginthedark.com/posts/iphone-tapku-calendar-markers – iPatel

+0

J'ai utilisé cet exemple, j'ai du mal à ajouter que pour mon projet –

+0

avez-vous travaillé avec TapKu dans xcode 5? –

Répondre

2

essayer par specifing points de cadre directement, comme celui-ci

calendar.frame = CGRectMake(0, 0, 320,400); 
1

Si vous ajoutez TKCalendarMonthView à votre contrôleur de vue à l'aide d'un storyboard, alors vous ne devriez pas être aussi initialisez une autre instance de TKCalendarMonthView dans votre vue contrôleur de - Méthode viewDidLoad.

Dans votre Storyboard:

  • Ajouter un TKCalendarMonthView à votre contrôleur de vue.
  • Définissez les contraintes de taille.
  • Connectez TKCalendarMonthView à la prise (voir ci-dessous) dans votre contrôleur de vue.

Dans votre contrôleur de vue:

Ajouter une sortie pour le TKCalendarMonthView.

@interface YourViewController() <TKCalendarMonthViewDataSource, TKCalendarMonthViewDelegate> 
@property (weak, nonatomic) IBOutlet TKCalendarMonthView *calendarMonthView; 
@end 

En -viewDidLoad, connectez délégué TKCalendarMonthView et la source de données. Notez que vous pouvez aussi le faire dans le storyboard si vous ajoutez le IBOutlet annoter au délégué et les propriétés dataSource dans TKCalendarMonthView.h

@implementation YourViewController 
... 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
... 
    self.calendarMonthView.delegate = self; 
    self.calendarMonthView.dataSource = self; 

Cependant, ces changements ne suffiront pas à obtenir le TKCalendarMonthView pour afficher le calendrier. La raison en est que la vue est initialisée par le Storyboard mais aucune des méthodes -init existantes n'est appelée lorsqu'elle est chargée par le Storyboard. Vous devrez donc ajouter une méthode -initWithCoder: à TKCalendarMonthView.m. L'exemple suivant appelle la méthode -init: par défaut.

-(id)initWithCoder:(NSCoder *)aDecoder 
{ 
    self = [self init]; 
    if (self) { 

    } 

    return self; 
} 

Si vous faites tout cela, vous devriez voir le calendrier affiché au lieu d'une vue vide.

Questions connexes