知识点总结:06-frame,bounds,内边距等知识

1.frame和bounds的重新认识

  • frame(参照物是:父控件)

    • 父控件 内容的左上角为坐标原点, 计算出的控件自己 矩形框的位置和尺寸(如果父控件内容坐标发生改变,则子控件也会随之改变,将矩形框看成是裁剪框)
  • bounds(参照物是:自己, 矩形框是裁剪框, 矩形框显示的是裁剪的内容,但是矩形框在父控件的位置未改变,只是显示的内容随bounds改变)

    • 控件自己 内容的左上角为坐标原点, 计算(即裁剪出)出的控件自己 矩形框的位置和尺寸(即将裁剪出来的区域显示出来)

    • 矩形框其内容的坐标就是bounds.origin,即偏移量

  • 概括

    • frame.size == bounds.size(尺寸是相等的)
    • scrollView.bounds.origin == scrollView.contentOffset(scrollview中初始的偏移量和初始的bounds一样)

2.bounds和frame的区别

bounds和frame的区别.png

3.矩形框和内容的理解

  • 矩形框
    • 控件自己的显示位置和尺寸(在父控件)
  • 内容
    • 控件内部的东西,比如它的子控件(在子控件的内容)

在使用UITableViewController过程中,可能会出现的错误

@interface TestTableViewController : UITableViewController

@end

'-[UITableViewController loadView] instantiated view controller with identifier "UIViewController-BYZ-38-t0r" from storyboard "Main", but didn't get a UITableView.'
  • 造成这个错误的原因

    • 错误地将一个UIViewController当做UITableViewController来用
  • 错误做法


    Snip20151108_134.png
  • 正确做法


    Snip20151108_135.png
Snip20151108_137.png

3.contentInset的调整(调整contentInset,会改变bounds)

  • 调整contentInset, 会使内容整体移动,但是内容的原点并没有下移,类似HTML的padding,即间距, 因此矩形框的左上角所处的坐标的y值是负数,所以改变了bounds
  • tableView的headerView会影响内容的原点,contentInset不会,但是两者的设置都会影响矩形框的bounds.origin(相对于原来的内容),即会影响bounds和偏移量
  • 默认情况下, 如果一个控制器A处在导航控制器管理中, 并且控制器A的第一个子控件是UIScrollView, 那么就会自动调整这个UIScrollView的contentInset
    • UIEdgeInsetsMake(64, 0, 0, 0) // 有导航栏
    • UIEdgeInsetsMake(20, 0, 0, 0) // 没有导航栏
  • 默认情况下, 如果一个控制器A处在导航控制器管理中, 并且导航控制器又处在UITabBarController管理中, 并且控制器A的第一个子控件是UIScrollView, 那么就会自动调整这个UIScrollView的contentInset
    • UIEdgeInsetsMake(64, 0, 49, 0)
  • 如何禁止上述的默认问题?
控制器A.automaticallyAdjustsScrollViewInsets = NO;

4.文字内容换行

  • 如何让storyboard\xib中的文字内容换行
    • 快捷键: option + 回车键
    • 在storyboard\xib输入\n是无法实现换行的
  • 在代码中输入\n是可以实现换行的
self.label.text = @"534534534\n5345345\n5345";

5.修改状态栏样式

  • 使用UIApplication来管理(iOS7 以前)
Snip20151108_152.png
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

在Info.plist中做了图中的配置,可能会出现以下警告信息

Snip20151108_153.png

View controller-based status bar appearance(在Executable file下添加View controller-based status bar appearance目录)默认是YES,如果选择了NO则一定要用UIApplication来设置状态栏的样式

  • 使用UIViewController来管理(iOS7 以后苹果推荐使用)
@implementation XMGLoginRegisterViewController
// 每个控制器的状态栏由每个控制器自己决定更加科学,
//如果用UIApplication来管理,则跳转控制器以后,还要通过UIApplication重新设置,这样会更为不便
- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}
@end

6.在xib\storyboard中使用KVC

Snip20151108_177.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,971评论 25 707
  • 我们在努力奔跑,我们在努力生活,我们在努力改变,可是世界还是对我们太苛刻。 每个女孩都是上天派来人间的天使,然而我...
    六月同学阅读 404评论 0 0
  • 文/熠歆 这是偶然在简书看到的“土豆粥”,我自己加了食材,变成了我的土豆粥! 材料:土豆,胡萝卜,瘦肉,核桃,糯米...
    熠歆阅读 336评论 4 2
  • 这世上从没有感同身受这回事,所有悲哀,都要自己承担。 去年三月,每个深夜精力无限,在题海中厮杀到很晚很晚。凌晨一点...
    字言阅读 243评论 0 1
  • 2017年6月27日上午,天气晴朗,阳光灿烂,滦平六中全体师生欢聚一堂,在学校操场举行“欢庆七一,喜迎十九...
    海云yhy阅读 915评论 0 2