DevTutorial by Totiz
 
หลายคนมีคำถามว่าเราสามารถเปลี่ยนสี หรือใส่รูปภาพใน Navigation Bar ได้หรือไหม!
วันนี้เรามีคำตอบมาให้ครับ
 
โดยปกติแล้วใน Interface Builder เราสามารถเปลี่ยน Style ของ Bar ได้ 3 แบบคือ 
  • Default 
  • Black Opaque 
  • Black Translucent 

แก้สีใน Navigation Bar

    หากเราต้องการเปลี่ยนสี ก็สามารถกำหนดได้ใน Property Tint โดยสามารถทำผ่าน Interface Builder หรือใส่ไว้ใน Code ก็ได้

การแก้สี Navigation Bar ผ่าน Interface Builder

การแก้สี Navigation Bar ด้วยโค้ด

[self.navigationController.navigationBar.tintColor = [UIColor redColor];


ใส่รูปใน Navigation Bar

    หากเราต้องการ Advance มากกว่านั้น เช่น ใส่รูปทั้งรูปลงไปเป็นภาพพื้นหลังของ Navigation Bar เลยก็มีวิธีทำง่ายๆ ครับ


ใส่โค้ดนี้ลงไปใน AppDelegate.m ด้านล่างสุด(ใต้ @end ) ตามนี้ 

@implementation UINavigationBar (UINavigationBarCategory)

 

- (void)drawRect:(CGRect)rect {

    // Imaging NavigationBar

    UIColor *color = [UIColor blackColor];

    UIImage *img  = [UIImage imageNamed: @"BarImage.jpg"];

    [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];

    self.tintColor = color;

}

@end

ดาวน์โหลดโค้ดตัวอย่างได้ที่นี้ครับ https://github.com/totiz/Imaging-UINavigationBar

เพียงเท่านี้เราก็จะได้ Navigation Bar ที่เป็นรูปภาพเหมาะแก่การให้ Designer ในทีมเราออกแบบได้อย่างเต็มที่ ไม่ยึดติดกับ Style เดิมๆ ที่ Apple เลือกไว้ให้

หากท่านใดมีข้อสงสัย หรือแนะนำติชมสามารถ comment ไว้ได้นะครับ  ^_^

อ้างอิง: http://foobarpig.com/iphone/uinavigationbar-with-solid-color-or-image-background.html/comment-page-1#comment-9429

Comment

Comment:

Tweet