在AppDelegate.m中 可以建立多個視圖控制器對象 例如: FirestViewController *firstVc = [[FirstViewController alloc]init]; UINavvigationController *NAvc = [[UINavigationComtroller alloc]initWithRootViewController:firstVC]; //建立tabbar上的按鈕及其内容(系統有不同的圖示樣式) 系統的 在最後不要忘了autorelease firstVc.taBarItem = [[[UITabBarTtem alloc]initWithTabBarSystemItem:UITabBarSystemItemDownlods tag:1000] autorelease];
//在圖示右上角顯示各種符号 如+99(寫不寫都可以) firstVc.taBarItem.badgeValue = @“+99”; //另一種建立tabbar上的按鈕樣式寫法 自定義 (裡面的漢字要最後寫 否則沒有提示碼) thirdVC.tabBarItem = [[[UITabBarItem alloc]initWithTitle:@“麗人” image:[UIImage imageBamed:@“er.png”] selectedImage:[UIImage imageNamed:@“kou.png”]] autorelease];
按鈕建立好後,建立一個UITabbarController讓所有的按鈕顯示出來 UITabBarController *tabVC = [[UITabBarController alloc]init]; tabVC.viewControllers = @[firstNAvc, thirdNAvc, 等]; 将UITabBarController放到主視圖控制器上 self.window.rootViewController = tabVC;
對tabbar進行外觀設定 tabVC.tabBar.translucent = NO; //設為不透明 tabVC.tabBar.barTintColor = [UIColor cyanColor]; //tabbar背景顔色 tabVC.tabBar.tintColor = [UIColor blueColor]; //點選之後按鈕的顔色
設定代理人(在頭檔案簽訂協定<UITabBarControllerDelegate>) tabVC.delegate = self; //進去之後跳到第二個圖示視圖(預設從零開始) tabVC.selectedIndex = 2;
最後對所有視圖進行釋放
在第一個視圖控制器中(其他控制器方法大概一樣)建立UItableView 在第二個必須實作的方法中 在if中建立手勢 手勢的點選方法 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(click:)]; 将手勢放到cell中 [cell addGestureRecognizer:longPress]; [longPress release];
實作手勢點選方法 - (void)click:(UILongPressGestureRecognizer *)longPress { //通過手勢,找到手勢所添加的cell UITableViewCell *cell = (UITableViewCell *)longPress.view; //建立一個快捷菜單, 單例 UIMenController *menu = [UIMenuController sharedMenuController]; //給這個快捷菜單進行定位 [menu setTargetRect:cell.frame inView:cell.superview]; //讓菜單顯示出來 [menu setMenuVisible:YES animated:YES ];
//如果想使用自定義的功能 UIMenuItem *flag = [[UIMenuItem alloc]initWithTitle:@“測試” action:@selector(flag)]; //把這個按鈕放到快捷菜單上 [menu setMenuItems:@[flag]]; //按鈕的方法必須實作,無論系統還是自定義,如果不實作對應的方法,不會添加到快捷菜單上 } #pragma mark 快捷菜單捆綁了一個方法,這個方法必須實作,如果不實作,快捷菜單沒有辦法顯示 讓快捷鍵成為第一響應者 - (BOOL)canBecomeFirstResponder { return YES; } 實作按鈕 - (void)flag { }