天天看点

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

继续阅读