1、问题描述
仿iPhone系统应用邮件APP的实现。亮点在于UIViewController+UITableviewController
具体如图所示
2、代码解决
定义
父容器 ViewController
子视图1 MailBoxTableViewController.view
子视图2 UIToolbar
2.1、添加MailBoxTableViewController
MailBoxTableViewController *mailVC = [[MailBoxTableViewController alloc]initWithStyle:UITableViewStyleGrouped];
UINavigationController *mailNav = [[UINavigationController alloc]initWithRootViewController:mailVC];
//在此处设置frame
mailNav.view.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame)-45);
[self addChildViewController:mailNav];
[self.view addSubview:mailNav.view];
2.2、添加Toolbar
UIToolbar *bottombar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame)-44, CGRectGetWidth(self.view.frame), 44)];
NSMutableArray *baritems = [NSMutableArray array];
UIBarButtonItem *itemleft = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *itemtitle = [[UIBarButtonItem alloc]initWithTitle:@"刚刚更新" style:UIBarButtonItemStylePlain target:nil action:nil];
self.itemtitle = itemtitle;
UIBarButtonItem *itemright = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *itemnew = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:nil action:nil];
[baritems addObjectsFromArray:@[itemleft,itemtitle,itemright,itemnew]];
bottombar.items = baritems;
[self.view addSubview:bottombar];
3、效果图
4、demo下载
提供一个demo,实现了两级页面,后续有时间会持续更新,欢迎关注。
demo下载地址
5、知识点
1、当前视图添加VC
- (void)addChildViewController:(UIViewController *)childController NS_AVAILABLE_IOS(5_0);
2、UIImage以系统蓝色样式展示
- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0);