类似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控制右边显示不同的视图全部内容,希望文章能够帮你解决类似ipad上的split,左边的tableview控制右边显示不同的视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)