美文网首页
iOS 的一点小记载 (三)

iOS 的一点小记载 (三)

作者: lonelyjimmy | 来源:发表于2017-05-25 09:11 被阅读20次

frame和bounds的重新认识

  • frame
    • 父控件 内容的左上角为坐标原点, 计算出的控件自己 矩形框的位置和尺寸
  • bounds
    • 控件自己 内容的左上角为坐标原点, 计算出的控件自己 矩形框的位置和尺寸
  • 概括
    • frame.size == bounds.size
    • scrollView.bounds.origin == scrollView.contentOffset

bounds和frame的区别

bounds和frame的区别.png

矩形框和内容的理解

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

在使用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

contentInset的调整

  • 默认情况下, 如果一个控制器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;

文字内容换行

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

修改状态栏样式

  • 使用UIApplication来管理
Snip20151108_152.png
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

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

Snip20151108_153.png
  • 使用UIViewController来管理
@implementation CLLoginRegisterViewController
- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}
@end

在xib\storyboard中使用KVC

Snip20151108_177.png

相关文章

  • iOS 的一点小记载 (三)

    frame和bounds的重新认识 frame以父控件 内容的左上角为坐标原点, 计算出的控件自己 矩形框的位置和...

  • iOS 的一点小记载

    从iOS9开始的常见报错 从iOS9开始, 在程序启动完毕那一刻显示出来的窗口必须要设置根控制器 应用程序的图标 ...

  • iOS 的一点小记载(二)

    控制台可能会输出以下警告信息 警告的原因: [UIImage imageNamed:nil] 警告的原因: [UI...

  • iOS 的一点小记载(四)

    修改UITextField的光标颜色 UITextField占位文字相关的设置 NSAttributedStrin...

  • iOS 的一点小记载(五)

    CocoaPods Podfile.lock文件最后一次更新Pods时, 所有第三方框架的版本号 常用指令的区别p...

  • iOS 的一点小记载(六)

    计算某个文件\文件夹的大小 计算文字的宽度 有透明度的颜色 viewWithTag:内部的大致实现思路

  • iOS 的一点小记载(七)

    addObject:和addObjectsFromArray:的区别 服务器分页的做法 集成MJRefresh g...

  • iOS 的一点小记载(八)

    NSDateFormatter的作用 NSString * -> NSDate * NSDate * -> NSS...

  • 面试题

    ios相关问题,这里也要一个博客有些记载https://ios.nobady.cn/Performance-opt...

  • iOS技能图谱

    一:招聘需求 二:小码哥iOS 技能图谱 三:唐巧iOS技能图谱 四:tableView 相关

网友评论

      本文标题:iOS 的一点小记载 (三)

      本文链接:https://www.haomeiwen.com/subject/fwuaxxtx.html