开源中国社区iOS客户端学习-(2)侧拉栏和设置界面
来源:互联网 发布:网络里魔怔啥意思 编辑:程序博客网 时间:2024/05/22 13:50
上一篇中提到
self.leftMenuViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"leftMenuViewController"];
其中leftMenuViewController即为侧拉栏的storyboard ID,在storyboard中找到这个tableViewController,可以发现它的class是SideMenuViewController。
再用一次上一篇中的图
可以在viewDidLoad进行一些设置,让界面更加美观
self.tableView.backgroundColor = [UIColor titleBarColor];//设置背景颜色 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;//tableView无分割线 self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];//除去多余行
侧拉栏使用表视图构建,可以分成两个部分。
1)section的header用来创建“点击头像登录”
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 160;//设置高度}- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ ...... return headerView;}
2)为普通的tableViewCell,放置具体的选项。先看一下“设置”选项。
case 3: { SettingsPage *settingPage = [SettingsPage new]; [self setContentViewController:settingPage]; break; }
通过调用setContentViewController:转到设置界面
- (void)setcontentViewController:(UIViewController *)viewController{ viewController.hidesBottomBarWhenPushed = YES;//跳转时隐藏TabBarController的BottomBar UINavigationController *nav = (UINavigationController *)((UITabBarController *)self.sideMenuViewController.contentViewController).selectedViewController;//将nav设置为已选的contentViewController [nav pushViewController:viewController animated:NO]; [self.sideMenuViewController hideMenuViewController];//隐藏侧拉栏}
不登陆时,设置界面共有五个选项。点击“清除缓存”选项只会弹出警告框,并没有真正作用(说不对的话,请不要打我),点击“给应用评分”选项跳转到App Store。
if (section == 0) { if (row == 0) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"确定要清除缓存的图片和文件?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; [alertView show]; } else if (row == 1){ } } else if (section == 1) { if (row == 0) { [self.navigationController pushViewController:[FeedbackPage new] animated:YES]; } else if (row == 1) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/kai-yuan-zhong-guo/id524298520?mt=8"]];//点击“给应用评分”选项跳转到App Store } else if (row == 2) { [self.navigationController pushViewController:[AboutPage new] animated:YES]; } else if (row == 3) { [self.navigationController pushViewController:[OSLicensePage new] animated:YES]; }
0 0
- 开源中国社区iOS客户端学习-(2)侧拉栏和设置界面
- 开源中国社区iOS客户端学习-(3)“技术问答”界面
- 开源中国社区iOS客户端学习-(1)侧拉栏的实现
- 开源中国社区iOS客户端学习-(4)下拉刷新
- 开源中国社区-IOS
- 开源中国IOS客户端学习
- 开源中国 Android 客户端学习-启动界面
- ios学习(零) 开源中国iOS客户端学习
- 开源中国社区 iPhone 客户端项目简析
- 开源中国IOS客户端
- 开源中国社区
- 中国开源社区
- 开源中国社区
- 开源中国社区
- 中国开源社区
- 开源中国社区
- 开源中国社区
- 中国开源社区
- 4.4.3 Framework Methods
- 记录给nginx增加模块过程中碰到的问题
- 以我自己为核心
- Unity3D研究院之Assetbundle的原理(六十一)
- 如何直接打印int[]数组
- 开源中国社区iOS客户端学习-(2)侧拉栏和设置界面
- CF 590B Chip 'n Dale Rescue Rangers(二分)
- java.util.Random 类的 nextInt(int num )
- Windows7+Eclipse+jdk7+CentOS5.8+Hadoop2.7.1开发环境搭建
- Unity3D研究院之Assetbundle的实战(六十三)
- 使用matlab画不同填充图案的柱状图
- js中通过split函数分割字符串成数组小例子
- response的contentType 几种类型
- Codeforces Round #327 (Div. 1) C. Three States