iOS_26_彩票_控制器的view的适配

iOS 7的控制器默认都是全屏的

如图所示:

程序入口是一个导航控制器,

导航控制器的根控制器是一个TabBarController,

因此,状态栏+导航栏会盖住TabBarController控制器的上面64的高度

TabBarController的子控制器是一个TableViewController,

因此,TabBarController的TabBar会盖住TableViewController的下部分49的高度,

因此,TableViewController的数据不能像iOS6那样正常地全部展示

结果就变成了这样:TabViewController上下被遮挡

为了能像iOS6那样,使控制器的view展示完全,需要作如下处理:

TabBarController和它的所有子控制 都不要自动展开占据整个屏幕

@implementation BeyondTabBarController
- (void)viewDidLoad
{
    [super viewDidLoad];
    // 重要~~~iOS7的控制器的view的适配
    if (iOS7) {
        // 目的,让TabBar控制器 不要展开为全屏的
        // 1.UIRectEdgeNone不要往四周边缘展开(按照非iOS7的传统来展示)
        self.edgesForExtendedLayout = UIRectEdgeNone;

        // 2.同时,也让TabBar控制器 所有的子控制器都不能展开
        for (UIViewController *vc in self.childViewControllers) {
            vc.edgesForExtendedLayout = UIRectEdgeNone;

        }

        // NO代表展开的时候不要包含那个条
        //        self.extendedLayoutIncludesOpaqueBars = NO;
    }

    // 自动会调用scrollView的contentInsets(比如group样式的tableView的insets.top=64)
    //    self.automaticallyAdjustsScrollViewInsets = YES;
}
时间: 2024-10-10 09:03:44

iOS_26_彩票_控制器的view的适配的相关文章

iOS_26彩票_幸运转盘

最终效果图: 各个view的关系图: 背景圆盘(需要扣图处理)LuckyBaseBackground.png 盖在背景圆盘上面的转盘 LuckyRotateWheel.png 代表一个星座或生肖的按钮背景图片 要创建12个,并以最下方中点为锚点进行旋转 对背景圆盘进行扣图,并在其上面盖上转盘图片的核心代码 在自定义的背景view中,画好了背景圆盘和背景转盘之后, 一次性添加12个代表星座或生肖的按钮,并设置旋转角度 一张集合了所有的代表星座的按钮的背景图片的大图片 一张集合了所有的代表星座的按钮

控制器的view的加载优先级

拿到控制器后,控制器的view是在什么时候按照什么优先级创建加载的? 1.控制器内部的view是延迟加载 1> 用到时再加载(loadView) 2> 加载完毕后会调用控制器的viewDidLoad方法 也就是说,控制器的view在第一次加载的时候会调用控制器的loadView 方法,需要自定义view的救灾该方法中完成: 如果没有实现loadView方法,那么就会看该控制器是不是通过storyboard创建的,如果是就加载对应storyboard中的view: 如果不是通过加载storybo

IOS UI-控制器的创建和控制器的View的创建

一.控制器的创建和控制器的View的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中创建一个控制器. 1 #import "YYAppDelegate.h" 2 #import "YYViewController.h" 3 4 @implementation YYAppDelegate 5 6 - (BOOL)application:(UIA

IOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用

一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; // 返回第component有多少行 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;

Swift - iOS中各种视图控制器(View Controller)的介绍

在iOS中,不同的视图控制器负责不同的功能,采用不同的风格向用户呈现信息.下面对各个视图控制器做个总结: 1,标准视图控制器 - View Controller 这个控制器只是用来呈现内容.通常会用来作为子类,以向屏幕中添加逻辑. 2,导航控制器 - Navigation Controller 这个控制器呈现一个视图控制器的栈,应用程序可以在上面推入更多的视图控制器. 当新视图推入栈,或旧视图弹出栈时,导航控制器会以动画的形式(比如卷动)显示隐藏这些视图. 使用样例:系统“设置”应用程序 3,表

往一个控制器的View添加另一个控制器的View出现的异常

往一个控制的view上添加另一个控制器的View,(由于layout缘故)可能视图会发生异常,出现伸缩(被添加视图的view变小,或者变大),所以应该设置被添加控制器的View的属性,让他不随父控件的变化而变化, 被添加控制器.view.autoresizingMask = UIViewAutoresizingNone; 往一个控制器的View添加另一个控制器的View出现的异常,布布扣,bubuko.com

iOS开发UI篇—控制器的View的创建

iOS开发UI篇—控制器的View的创建 一.6种创建控制器View的方式 1 #import "NJAppDelegate.h" 2 #import "NJViewController.h" 3 /* 4 1.没有同名xib情况下 5 2.通过 storyboard 创建 6 3.有指定xib情况下创建 7 4.有同名xib情况 8 5.有同名去掉controll的情况 9 6.loadveiw 10 */ 11 @implementation NJAppDele

被导航控制器包装的控制器的View的y值问题

最近一直在纠结问题,为什么有时候被导航控制器包装的控制器的View的y值有时候是64,有时候是0,觉得很奇怪,于是研究了一下,发现有个属性可以改变View的y值,那就是translucent(属于导航栏的)这个属性可以设置y值,这个属性的作用是用来设置导航栏是否半透明,默认值为Yes(半透明效果),为NO则不透明,下图展示了一下Yes和No的区别: 要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消transluce

iOS架构师之路:控制器(View Controller)瘦身设计

前言 古老的MVC架构是容易被iOS开发者理解和接受的设计模式,但是由于iOS开发的项目功能越来越负责庞大,项目代码也随之不断壮大,MVC的模糊定义导致我们的业务开发工程师很容易把大量的代码写到视图控制器中,行业中对这种控制器有个专业词汇Massive ViewControler(臃肿的视图控制器).代码臃肿导致可读性可维护性差,而且这种不清晰的设计还有许多的副作用,比如代码重用性差.作为架构师需要关注项目的代码质量.指导业务开发工程师写出高质量,高健壮性,高可用的代码也是很重要的工作.因此需要