首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

两种通过Plist加载图片的方法及问题,九宫格的算法,字典转模型1. 序列帧动画实现2. 图片浏览器-两种加载plist的方式3. 图片浏览器-内存问题4 MVC简单介绍和类前缀5 应用管理-两种加载

用路径方式去加载图片时图片不能放在Assets中,因为放在Assets文件中的图片编译后会被打包成.car文件 [UIImage imageWithContentsOfFile:文件夹下,获取图片文件后,使用 imageWithContentsOfFile 加载,使用完成立即释放!...4 MVC简单介绍和类前缀 模型 : 数据 视图 : 负责显示 控制器 : 处理逻辑,如跳转界面 类前缀苹果推荐使用三个或三个以上字母,防止重名 5 应用管理-两种加载xib的方式 从 NSBundle...加载XIB,只需要在第一个参数传入 XIB 的文件名,注意:没有扩展名 方法1,iOS 3.0 的方法 UIView *appView = [[NSBundle mainBundle] loadNibNamed..."" //第一个参数:XIB的名字 //第二个参数:Bundle 名,如果传入 nil,会自动从 mainBundle 获取 UINib *nib = [UINib nibWithNibName:@"CZAppView

87730

【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

Owner 文件 : 代表加载界面设计文件对象, 即 布局文件对象, 谁负责加载 Main.xib 界面设计文件, 谁就是该 界面设计文件的 File's Owner; -- First Responder...文件 : 代表正在与用户交互的对象, 即获取到焦点的对象, 其代表的控件会变化, 用户点击按钮时, 按钮就成为了其代表的控件; Objects 列表区 :  -- 主要作用 : 该列表区 保存 xib...作为默认格式; xib 与 nib 主要区别 : -- 文件类型 : xib 是文本文件, nib 是二进制文件, Xcode 编译项目时 会将 xib 文件转为 nib 文件;  -- nib 文件..., 系统创建控制器时, 通常会加载对应的 xib 文件; -- 应用初始界面 : 在 OCAppDelegate 中定义了 FKViewController 变量, 该变量类型对应的 xib 文件就是初始界面...UIViewController 控制器 UIController 方法详解 : 主要用于处理视图加载, 显示等事件; -- viewDidLoad 方法 : 视图装载完成后, 自动回调该方法, 重写时注意先使用

5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    程序启动的完整过程

    ,一个app中至少有一个UIWindow iOS启动完毕后创建的第一个视图就是UIWindow 接着创建控制器,再把控制器的View加到UIWindow上显示出来 在- didFinishLaunchingWithOptions...; // 2.设置窗口的根控制器 // 通过xib去加载控制器 // .首先创建一个Xib文件 // .Xib文件需要拖一个View描述控制器的View...xib文件的顺序 若加载xib文件传入name参数,则按参数描述的加载 若未传入参数 先加载与控制器名字的View.xib 若控制器命名为YLViewController,则首先加载YLView.xib...而后加载与控制名字一样的xib 若控制器命名为YLViewController,则首先加载YLViewContrller.xib 若都找不到则加载空。...) viewWillDisappear(view即将从window上移除,即将看不到) viewDidDisappear(view从window上完全移除) 当有内存警告时 didReceiveMemoryWarning

    1.5K150

    UIViewController生命周期

    一、视图控制器 UIViewController采用懒加载的方式,也就是说第一次访问到view属性时才会加载或创建它。...由于视图由视图控制器管理,所以讨论视图的加载方式时,主要讨论视图控制器的加载方式。 通过Storyboard加载:这是苹果推荐的方式。...通过加载xib文件来创建UIViewController的view 如果没有找到相关联的xib文件,就会创建一个空白的UIView,然后赋值给UIViewController的view属性 默认不用实现...此时整个视图层次(view hierarchy)已经被放到内存中。 无论是从nib文件加载,还是通过纯代码编写界面,viewDidLoad方法都会执行。...我们可以重写这个方法,对通过nib文件加载的view做一些其他的初始化工作。比如可以移除一些视图,修改约束,加载数据等。

    2K10

    iOS字典转模、xib的使用、自定义视图

    的加载方式 3.2 xib与storyBoard的异同点 4.1 View的封装 4.2 UIView的常见属性和方法 5.1 搭建九宫格的步骤 5.2 代码示例 前言 案例:搭建九宫格 1、确定开发思路...2、搭建界面、编写代码 3、九宫格的布局 4、字典装模型(模型数据的处理,plist文件的加载)->实现按钮的监听方法 5、使用类方法加载xib,简化代码搭建界面 6、自定义视图,使用数据模型装配视图内容...+ (instancetype) appInfoWithDictionary : (NSDictionary *) appDictionary; //返回plist文件对应的模型数组 ,使用懒加载 +...(NSArray *)appList; 2、使用类方法实例化视图对象,并用数据模型装配视图内容 用类方法进行视图的实例化 + (instancetype) appView;//使用类方法加载xib...+ (instancetype) appViewWithAppInfo:(KNAppInfo *) appInfo;//使用类方法加载xib,参数用于视图的数据装配 1.3 九宫格计算方法 1)每一列的

    85810

    iOS开发--UIWindow与程序启动原理与两种创建控制器的方法

    Paste_Image.png UIWindow UIWindow是一种特殊的View 1.iOS启动完毕后,创建的第一个视图控件就是UIWindow。...Paste_Image.png 3、控制器的创建(Xid) /* 通过xib创建控制器的view 1.一定要描述xib的文件拥有者是控制器,也就是说这个xib是用来描述控制器 */ 1.通过File...Paste_Image.png 3.通过Xib 要是用控制器alloc】 initWithNibName:bundle:】 bundle传nil默认就是从[NSBundle mainBundle] ?...Paste_Image.png // 加载跟类名相同的xib // 如果描述控制器View的xib跟控制器的类名相同,就会去加载 ?...// 1.寻找有没有跟控制器类名同名但是不带Controller的xib,如果有就会去加载(View.xib) // 2.寻找有没有跟控制器类名同名的xib,如果有就会去加载(ViewController.xib

    1.2K20

    iOS 应用瘦身方法思路整理

    如果我们在各个业务 pod 下都创建 .xcassets 文件内置图片,那么 cocoapods 的脚本会在编译时将各个目录下的 xcassets 文件内容提取出来,合并到一个 xcassets 中并生成一个...既然需要指定 bundle 加载图片,那么如何获取这个 bundle 呢?换句话说如何才能低成本的将现在项目中的图片放到特定 bundle下的 Assets.car 文件中呢?...新增方法,imageWithName:,从符合 xxx.bundle/yyy.png 特征的参数中获取 bundle 名和图片名 xxx_Asset.bundle 和 yyy.png,获取图片并返回。...通过 hook XIb 加载图片的方法将方法偷偷替换为 imageNamed:inBundle: ,但是很遗憾我们 hook 了 UIImage 所有加载图片的方法,没有一个方法能拿到 XIB 上所设置的图片名称...大家都知道通过XIB加载的视图都一定会执行 initWithCoder: 方法 ?

    1.1K10

    iOS表视图单元格高度自适应

    iOS表视图高度自适应可以节省很多麻烦,尤其是涉及到复杂的业务逻辑时,今天尝试了使用Masonry和FDTemplatelayoutCell来布局表视图单元格,从而达到单元格高度自适应的效果,这里就总结了这其中使用的要点和注意问题...我们需要做的就是使用Masonry对视图单元格中的位于最底部的视图设置bottom约束,使其能够确定距离单元格最低端的距离。...使用的时候关键步骤包括: 1、注册表视图的单元格 这里分为NIb文件和普通类文件的单元格注册,我使用的是xib文件创建的单元格,代码如下: - (UITableView *)tableView{...make) { make.top.left.right.equalTo(self); make.height.mas_equalTo(10); }]; 2.结合xib...类型单元格使用时的错误 因为我使用了xib文件来加载视图的,所以开始的时候写了如下方法获取单元格 //获取单元格 + (OrderTableViewCell *)getOrderTableViewCell

    1.8K70

    iOS中storyboard故事板使用Segue跳转界面、传值

    引 在iOS的开发过程中,不可避免的要设计界面,在android中有xml设置界面和直接使用java代码设置界面控件两种方式,在之前的ios开发中也是类似的有xib文件设置界面及用代码直接设置控件两种方法...,但后来又出了一种方式,就是storyboard故事板子,其实storyboard和xib文件很像,最大的不同之处在于一个xib文件对应一个ViewController视图控制器,而storyboard...对应多个,基本一个应用只需要一个storyboard就可以了,不再需要为每个控制器创建一个xib文件,从这点上来说,还是很方便的,在storyboard中查看各个界面的跳转也很方便,但之前一直使用xib...:YES completion:^{}]; } 现在运行工程,就可以点击两个按钮欢快地跳来跳去了,可以看到从Page2跳回Page1的时候,动画的方向和从Page1跳到Page2时是相反的,这才是跳回嘛...(weak, nonatomic) NSString *string; 然后在Page2的.m文件中设定加载界面时,刷新输入框内的值为变量的值: - (void)viewDidLoad {

    1.5K20

    iOS-关于加载xib

    是重量级的,用来描述整个软件的多个界面,并且能够展示多个界面的跳转关系 加载xib xib文件在编译的后会变成nib文件 xib文件.png 第一种加载方式 NSArray * xibArray = [...xib 首先需要对xib文件进行一些处理,打开xib文件 点击"File‘s Owner",设置Class为xxxViewControler 右键"Files‘s Owner", 里面有个默认的IBOutlet...变量view, 看一下后面有没有做关联,如果没有就拉到下面的View和视图做个关联 点击"File‘s Owner",设置Class为xxxViewControler Files‘s Owner与View...) 控制器类名同名的xib 第二步:寻找有没有和控制器类名同名但是不带Controller的xib,如果有就去加载(XXView.xib) 和控制器类名同名但是不带Controller的xib...文件里有三个View) 通过加载xib方法初始化自定义控件log打印 代码实验结论: 通过代码初始化自定义控件是不会自动加载xib的,它会执行initWithFrame和init 通过加载xib

    25510

    iOS基础问答面试题连载(二)-附答案

    如果没有跟它相同名称的Xib,那么它就会再去加载跟它相同名称去点Controller的名字的Xib....如果不是从StoryBoard当中加载的, 那么它还会判断是不是从Xib当中创建的控制器.如果是,那么它就会从xib加载控制器的View....如果也不是从Xib加载的控制器.那么它就会创建一个空的UIView.设为当前控制器的View. 注意点: 一旦重写了loadView,表示需要自己创建控制器的View....当调用pop方法时, 会把要pop的控制器从栈里移除,把之前导航控制器中栈顶控制器View给移除,把当前栈顶控制器添加上去. 16.如何设置导航条的内容?...如果是从网络加载数据,一定要放到子线程(异步加载)当中做. 加载完毕的数据一定做本地缓存. cell当中不要动态的添加子控件.一般都在创建时,就把要出现的Cell给添加进去,暂时不要显示的,可隐藏.

    1.4K90

    设计师应该了解的iOS应用开发基础知识

    将图片导入Xcode我们下载的模板包当中是包括图片文件的,不过项目默认是不会将这些资源文件加载进来的,我们必须手动导入。...之后,你可以手动在导航栏中对文件进行拖放排序,使它们看上去更符合逻辑:图片为Tab与视图建立关联回到MainWindow.xib当中,在文档结构列表里选中我们之前添加的第一个View Controller...plist是一个XML文件,里面包含了应用的主要设置信息:图片其中的一些信息,例如“Main nib file base name”,所指向的是应用在第一次打开时需要加载的资源文件。...按住control键,从ContactViewController.xib里的“WWW”按钮上拖出一条导线,一直拉到.h文件的代码中@interface与@end之间的部分,释放。...模态视图的代码绑定现在我们需要将代码绑定到XIB当中的控件上。

    85230
    领券