กำหนด tag ของ Item ด้วย โดย tag นี้จะใช้อ้างอิง Item เวลาทำการคลิก ควรจะใส่เป็น 1,2,3... ตามตำแหน่งของ Item
ลองปรับแต่ง Item ที่สอง ซึ่งจะมีการกำหยด tag เช่นเดียวกัน
ตอนนี้ปรับแต่งครบทุกตัวเรียบร้อยแล้ว
สร้าง Label ขึ้นมา 1 ตัว
ใน Class ของ .h ให้ทำการเชื่อม IBOutlet ของ Label ให้เรียบร้อย
คลิกขวาที่ Tab Bar จะมีกล่องสีดำ ๆ ดังรูป
ให้ทำการเชื่อม delegate ของ Tab Bar กับ File's Owner หลังจากนั้นก็จะเป็นการเขียน Code ในส่วนของ Class ที่เป็น .m เพื่ออ่านตำแหน่งของ Item ที่ได้คลิก
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
{
switch (item.tag) {
case 1:
lblResult.text =@"Tab Bar Item 1 selected.";
break;
case 2:
lblResult.text =@"Tab Bar Item 2 selected.";
break;
case 3:
lblResult.text =@"Tab Bar Item 3 selected.";
break;
case 4:
lblResult.text =@"Tab Bar Item 4 selected.";
break;
case 5:
lblResult.text =@"Tab Bar Item 5 selected.";
break;
default:
break;
}
}
Screenshot
หน้าจอแรกของ App
เมื่อคลิกที่ Item ที่ หนึ่ง
เมื่อคลิกที่ Item ที่ สี่
Code ทั้งหมดของ .h และ .m ในภาษา Objective-C
ViewController.h
//
// ViewController.h
// tabBarApp
//
// Created by Weerachai on 11/17/55 BE.
// Copyright (c) 2555 Weerachai. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
IBOutlet UILabel *lblResult;
}
@end
ViewController.m
//
// ViewController.m
// tabBarApp
//
// Created by Weerachai on 11/17/55 BE.
// Copyright (c) 2555 Weerachai. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
{
switch (item.tag) {
case 1:
lblResult.text =@"Tab Bar Item 1 selected.";
break;
case 2:
lblResult.text =@"Tab Bar Item 2 selected.";
break;
case 3:
lblResult.text =@"Tab Bar Item 3 selected.";
break;
case 4:
lblResult.text =@"Tab Bar Item 4 selected.";
break;
case 5:
lblResult.text =@"Tab Bar Item 5 selected.";
break;
default:
break;
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc {
[lblResult release];
[super dealloc];
}
@end
ในกรณีที่ต้องการแยก Tab Bar กับ View แต่ล่ะตัว สามารถอ่านได้ที่บทความนี้