首页 > 其他 > 详细

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

时间:2015-08-28 15:38:15      阅读:670      评论:0      收藏:0      [点我收藏+]

类似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,所以我们不调用这个,自己创建一下视图,达到想创建的视图的大小,实现后的效果就是技术分享


版权声明:本文为博主原创文章,未经博主允许不得转载。

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

原文:http://blog.csdn.net/lu_ca/article/details/48051905

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!