2011-08-02 24 views
1

我使用TapkuLibrary作爲我的日曆。我想更改事件標記,例如在本月的某些日子顯示不同的操作。我想實現類似於第二個圖像的東西。如何更改TapkuLibrary日曆對象上的事件標記

默認TapkuLibrary日曆

Default TapkuLibrary calendar

我要像這樣的事情

I want to like something like this

+0

有你按你的顯示第二圖像做出的是定製壓延機,如果是,那麼請幫助我。我想像你在圖2中顯示的那樣製作同樣的日曆。我已經嘗試了很多,但我失敗了 – parag

回答

2

使用波紋管方法,而不是 - DrawTileInRect 爲一個月多種顏色,檢查日期

- (void) drawTileInRect:(CGRect)r day:(int)day mark:(BOOL)mark font:(UIFont*)f1 font2:(UIFont*)f2 sysFlag:(int)sysFlg userEventFlg:(int)userEventFlag diaryFlg:(int)diaryFlag momentsFlg:(int)momentsFlag 
{ 
    
    @try { 
         
        NSString *str = [NSString stringWithFormat:@"%d",day]; 
        [str retain]; 
         
         
        r.size.height -= 2; 
        [str drawInRect: r 
               withFont: f1 
          lineBreakMode: UILineBreakModeWordWrap 
              alignment: UITextAlignmentCenter]; 
         
        r.size.height = 10; 
        r.origin.y += 18; 
         
        CGRect y=CGRectMake(r.origin.x+5, r.origin.y-25, 12, 12);//5 5 
         
         
        CGRect rect1=CGRectMake(r.origin.x, r.origin.y+7, 12, 12); 
        CGRect rect2=CGRectMake(rect1.origin.x+18, r.origin.y+7, 12, 12); 
        CGRect rect3=CGRectMake(rect2.origin.x+16, r.origin.y+7, 12, 12); 
         
        if(sysFlg==1) 
        { 
            [[UIImage imageNamed:@"Blue_dot.png"] drawInRect:y]; 
        } 
         
        if(userEventFlag==1)//1.png 
        { 
            [[UIImage imageNamed:@"Yellow_dot.png"] drawInRect:rect1]; 
        } 
        
         
        if(momentsFlag==1)//3.png 
        { 
            [[UIImage imageNamed:@"Red_dot.png"] drawInRect:rect3]; 
        } 
         

    } 
    @catch (NSException * e) { 
        NSLog(@"Exception: %@", e); 

    } 
} 
+0

感謝您的回答,我想做類似的事情。 – iOSDev

3

注:我首先要解釋Tapku目前如何繪製MonthView標記,然後我會提出一種方法來改變它。

Tapku實際上並沒有將這些標記設置爲圖像;它將它們設置爲字符串!搜索TKCalendarMonthView for•。這些標記在TKCalendarMonthView的兩個不同位置中設置:首先,在drawTileInRect:day:mark:font ...方法中,它在drawRect方法中分別在每個tile上調用。其次,將屬性「點」應用於具有不同文本顏色等的用戶「選定」單元格,因此需要調整其自己的屬性。

要設置您自己的圖像,您必須在這兩個地方修改Tapku(不是非常困難;這是一個非常容易訪問的項目)。因此,您不必將單元格的文本設置爲•,而必須將其圖像設置爲您提供的圖像。

提供此圖像可以通過幾種不同的方式完成。最直接的將是重做Tapku的'標記'數組(由代表設置)的概念。也許你可以創建一個UIImage數組,而不是創建一個整數數組。不過,你需要有一種方法來告訴代碼「無圖像」 - 也許有一個空白圖像,並將其默認應用於單元格?

讓我知道你是否需要任何澄清。

+0

你有沒有在一個月內對多種顏色的日曆進行任何示例修改? – parag