Thông tin tài liệu:
Trong bài viết này sẽ hướng dẫn cách sử dụng TabBar và TableView trong các ứng dụng trên iPhone.
Nội dung trích xuất từ tài liệu:
Xây dựng ứng dụng với TabBar và TableView trên iPhone [Hướngdẫn]XâydựngứngdụngvớiTabBarvàTableViewtrêniPhoneTrongbàiviếtnàysẽhướngdẫncáchsửdụngTabBarvàTableViewtrongcácứngdụngtrêniPhone.Đểtạoứngdụng,thựchiệncácbướcnhưsau:Bước1:MởXcode,tạomộtprojectmớikiểuWindowsBasevàchọnkiểulà“TabBarWithTableView”.Bước2:Xcodesẽtựđộngtạocấutrúcthưmụcvàthêmcácframeworkcầnthiếtvàoproject.Bước3:Thêmvàoproject2lớpkiểuUIViewControllervàđặttênlầnlượtlà“TableView”và“SecondView”.Đểthêmlớpmới,thựchiệnnhưsau:NhấpphảichuộtvàoprojectNewfileCocoaTouchViewController.Bước4:MởtậptinTabBarWithTableViewAppDelegate.hvàthayđổicácthôngtinnhưsau:#import @interface TabBarWithTableViewAppDelegate : NSObject { UITabBarController *tabBarControlller;}@property (nonatomic, retain) IBOutlet UITabBarController *tabBarControlller;@property (nonatomic, retain) IBOutlet UIWindow *window;@endBước5:NhấpđôichuộtvàotậptinMainWindow.xibđểmởnóbằngInterfaceBuilder. • Chèn“TabBar”từthưviệnvàocửaMainWindow.ChỉnhlạivịtrícủaTabBarnằmcuốicửasổ. • ChọntabđầutiêncủaTabBarController,chọn“TableView”ởmụcIdentityInspector.Thựchiệncácthaotác tươngtựvớitabcònlạicủaTabBarControllervàchọn“SecondView”.LưunhữngthayđổitrênInterface BuildervàquylạicửasổlàmviệccủaXcode.Bước6:MởtậptinTabBarWithTableViewAppDelegate.mvàthayđổinhưsau:#import TabBarWithTableViewAppDelegate.h@implementation TabBarWithTableViewAppDelegate@synthesize window=_window,tabBarControlller;- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ // Override point for customization after application launch. [_window addSubview:tabBarControlller.view]; [self.window makeKeyAndVisible]; return YES;}- (void)applicationWillResignActive:(UIApplication *)application{}- (void)applicationDidEnterBackground:(UIApplication *)application{}Lập trình iPhone – http://laptrinhdidong.vn Page 1- (void)applicationWillEnterForeground:(UIApplication *)application{}- (void)applicationDidBecomeActive:(UIApplication *)application{}- (void)applicationWillTerminate:(UIApplication *)application{}- (void)dealloc{ [_window release]; [super dealloc];}@endBước7:MởtậptinTableView.hvàthayđổinhưsau:#import @interface TableView : UIViewController { NSArray *listData;}@property(nonatomic,retain) NSArray *listData;@endBước8:NhấpđôichuộttráivàotậptinTableView.xib. • ChènNavigationBartừthưviệnvàocủasổInterfaceBuilder. • ChọnNavigationBartrêncủasổInterfaceBuilderđểmởcủasổAttribute.Đặttênchotiêuđề(Title)cho NavigationBarlà“TableView” • Kéo“TableView”từthưviệnvàothảvàocủasổNavigationBar.ChọnTableViewConnectionvàchọnliên kếttừdataSourceđế“File’sOwner”.LưunhữngthayđổitrênInterfaceBuilder.Bước9:MởtậptinTableView.mvàthayđổinhưsau:#import TableView.h@implementation TableView@synthesize listData;// Implement viewDidLoad to do additional setup after loading the view, typically from anib.- (void)viewDidLoad { NSArray *array = [[NSArray alloc]initWithObjects:@Monday,@Tuesday,@Wednesday,@Thursday,@Friday,@Saturday,@Sunday,nil]; self.listData = array; [array release];Lập trình iPhone – http://laptrinhdidong.vn Page 2 [super viewDidLoad];}// Override to allow orientations other than the default portrait orientation.-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait);}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning];}- (void)viewDidUnload {}- (void)dealloc { [listData release]; [super dealloc];}-(NSInteger)tableView:(UITableView *)tableViewnumberOfRowsInSection:(NSInteger)section{ return [self.listData count];}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *SimpleTableIdentifier = @SimpleTableIdentifier; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; if(cell == nil){ cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier: SimpleTableIdentifier]autorelease]; } NSUInteger row = [indexPath row]; cell.textLabel.text = [listData objectAtIndex:row]; return cell;}@endBước10:NhấpđôichuộttráitậptinSecondView.xib.ChọnviewđểmởcủasổAttributevàthayđổimàunềncủaView.LưutậptinS ...