天天看點

UITabelBar

在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 {    }

繼續閱讀