您的位置:首页 > 其它

类似ipad上的split,左边的tableview控制右边显示不同的视图

2015-08-28 14:53 197 查看
类似ipad上的split,左边的tableview控制右边显示不同的视图

最近要做一个项目,这个项目在ipad上运行,需要页面横向放置,首先,先记录一下怎么让程序运行后页面横向显示,我设置了一个基类的视图控制器,下边就称作base页面。

这个控制器里,填写一段这样的代码,所有的页面都继承自这个视图控制器,起到所有的页面都是横向展示

#pragma mark -

#pragma mark -继承自这个类,以便于页面自动就会横屏

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{



return (toInterfaceOrientation ==
UIInterfaceOrientationLandscapeRight) || (toInterfaceOrientation ==
UIInterfaceOrientationLandscapeLeft);
}

为了达到这个效果,我最开始的时候打算在页面右边放置view,而不是viewController。因为view controller会自动的创建一个全屏的view,导致不成功。但是一个项目都是用view搭建的,难免感觉不妥当,怕给自己挖坑,变得越挖越深,最后自己都埋不上了。但是,没办法啊,项目催的紧,于是,还是拿view做了一下。发现其实view确实可以达到这个效果,但是自己内心总是感觉不踏实。于是,在各种开发群,还有一些认识的人各种问。终于,还是有位大神给我一个正确的指导,看来还是自己理解的东西不够深刻,特此记录一下
继续在base页面加约束,为了让所有的页面都是靠在左边导航的一侧的页面,添加下边代码

- (void)loadView{



// [super loadView];
主意这里不要调用,不然会创建一个全屏的view


UIView *view = [UIView
createView];
view.frame =
CGRectMake(295/2.f,
64, kScreenWidth -
295/2.f,
kScreenHeight - 64);


self.view = customView;
}

原来是因为每次调用[super loadView],所以才创建的全屏的view,所以我们不调用这个,自己创建一下视图,达到想创建的视图的大小,实现后的效果就是
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: