2011-05-18 73 views

回答

2

這是一個非常開放的問題。他們正在做很多不同的事情。我會解決其中的一些問題。

自定義工具欄
他們正在創造它使用的圖像作爲背景圖案自定義工具欄擴展。要做到這一點,就UINavigationBar的

@implementation UINavigationBar(CustomBackground) 

+ (UIImage *) bgImagePortrait { 
    static UIImage *image = nil; 
    if (image == nil) { 
     image = [[UIImage imageNamed:@"top_bar_portrait"] retain]; 
     NSAssert(image, @"Image specified must be valid."); 
    } 
    return image; 
} 

+ (UIImage *) bgImageLandscape { 
    static UIImage *image = nil; 
    if (image == nil) { 
     image = [[UIImage imageNamed:@"top_bar_landscape"] retain]; 
     NSAssert(image, @"Image specified must be valid."); 
    } 
    return image; 
} 

- (void) drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx { 
    if ([self isMemberOfClass:[UINavigationBar class]] == NO) { 
     return; 
    } 

    UIImage *image = (self.frame.size.width > 320) ? 
      [UINavigationBar bgImageLandscape] : [UINavigationBar bgImagePortrait]; 

    CGContextClip(ctx); 
    CGContextTranslateCTM(ctx, 0, image.size.height); 
    CGContextScaleCTM(ctx, 1.0, -1.0); 
    CGContextDrawImage(ctx, CGRectMake(0, 0, self.frame.size.width, 
         self.frame.size.height), image.CGImage); 

}

自定義工具欄按鈕
在工具欄的按鈕只是對他們的圖片自定義按鈕創建一個類別。您可以使用initWithCustomView構造函數創建一個自定義UIBarButtonItem

[[UIBarButtonItem alloc] initWithCustomView:container] 

尋呼滾動型
我不知道他們用的是表視圖的。它看起來像一個分頁滾動視圖的自定義佈局給我。看起來像創建一個方法需要相當簡單,該方法需要一系列圖像並以交錯的佈局將它們放在滾動頁面上。

相關問題