iOS设置translucent 引发的坐标问题

iOS  NavigationBar  + 导航栏 tablevie时候的布局情况,之前迷惑了我很久,怎么也没法理解透明度会影响布局。

接下来看一下以下三种情况的运行结果

1、全部系统默认情况下利用masory 布局 tableView

  [tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.top.right.equalTo(self.view);
        make.bottom.equalTo(self.view.mas_bottom);
    }];

结果底部发现tableView无法拉到底,如下图

解决方案:只要一句代码即可

 [tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.top.right.equalTo(self.view);
        make.bottom.equalTo(self.view.mas_bottom);//减去底部tabBar高度
    }];

    self.edgesForExtendedLayout = UIRectEdgeNone;//自动会计算tabBar高度

2、全局设置 translucent 导航栏为setTranslucent = NO时

[[UINavigationBar appearance] setTranslucent:NO];

显示效果同 1的结果。   解决方案同1

(这里就很费解,按照系统文档上解释的话,默认应该是YES才对,可是事实证明系统默认是NO)

3、全局设置 translucent 导航栏为setTranslucent = YES 时

[[UINavigationBar appearance] setTranslucent:YES];

结果发现tableView 高度开始从导航栏左上角开始计算,结果如下:

解决方案同1,也是设置edgesForExtendedLayout 属性

    self.edgesForExtendedLayout = UIRectEdgeNone;

这里也链接一篇说的比较好的文章:http://www.jianshu.com/p/b11769831fef

时间: 2024-11-05 07:06:06

iOS设置translucent 引发的坐标问题的相关文章

iOS设置app应用程序文件共享

1.iOSapp应用程序文件共享 当我们用itnues连接到设备时,在应用程序栏目下面,文件共享下,点击 对应的程序,即可以在程序右边栏目里面看到应用程序共享的数据, 此时,我们可以通过右下角的 添加 和存储为 导入数据或是导出数据,如图 2. iOS设置app应用程序文件共享 设置流程 xcode 打开项目----在 info.plist 文件,添加 UIFileSharingEnabled 并设置属性为 YES 在app内部,将您希望共享的文件放在应用程序的Documents目录下

ios 设置亮度、声音;调用发短信、邮件、打电话

一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需要的文件中导入头文件,#import <MediaPlayer/MediaPlayer.h> 3,[[MPMusicPlayerController applicationMusicPlayer] setVolume: 0.5];//0.0~1.0 三,调用发短信.邮件.打电话 1.调用 自带ma

IOS设置frame的时候经常要先取出来-&gt; 设置-&gt; 最后再赋值回去,非常麻烦,今天给大家推荐一种非常快捷的方法

大家可以去我的Githup下载   https://github.com/simplyou/YJ-UIIView-/tree/master 在设置尺寸的时候亲们有没有感觉很蛋疼啊,这里提供了一套分类,直接放进工程里,在PCH中包含头文件就能解决你蛋疼的问题; /***********************  .h文件   ******************************** //  UIView+YJ.h //  Created by 闪电 on 14-6-8. //  Copyr

IOS 设置Launch image停留时间

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [NSThread sleepForTimeInterval:3.0]; //设置进程停止3秒 } IOS 设置Launch image停留时间,布布扣,bubuko.com

iOS开发UI篇—九宫格坐标计算

iOS开发UI篇—九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间的父子关系,每个视图都只有一个父视图,拥有很多的子视图. (3)可以先尝试逐个的添加格子,最后考虑使用for循环,完成所有uiview的创建 (4)加载app数据,根据数据长度创建对应个数的格子 (5)添加格子内部的子控件 (6)给内部的子控件装配数据 四.代码示例 // // YYViewCont

iOS 设置UILabel 的内边距

iOS 设置UILabel 的内边距 - (void)drawTextInRect:(CGRect)rect { UIEdgeInsets insets = {0, 5, 0, 5}; [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)]; } 参考:http://stackoverflow.com/questions/3476646/uilabel-text-margin http://unmi.cc/uilable-uitext

ios设置中显示自己的应用

1.建立一个setting bundle文件.如图: 2.会出现一个文件,打开Root.plist文件,对plist文件中的值进行设置. 3.其中设置中又6种样式. Group      开头的title Multi value Slider    拖拉设置 TextField   文本框 Title         文本 Toggle Switch 开关控件 4.代码实现,可以在程序内获取设置值. 在程序员中加入 NSUserDefaults *defaults = [NSUserDefaul

iOS开发UI基础—九宫格坐标计算

iOS开发UI基础-九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间的父子关系,每个视图都只有一个父视图,拥有很多的子视图. (3)可以先尝试逐个的添加格子,最后考虑使用for循环,完成所有uiview的创建 (4)加载app数据,根据数据长度创建对应个数的格子 (5)添加格子内部的子控件 (6)给内部的子控件装配数据 四.代码示例 1 // 2 // YYVie

iOS 设置RGB色的宏

转自:http://lizhuang.iteye.com/blog/1931768 ?//RGB Color macro #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue &am