加载xib2中方式

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"xib名称" owner:nil options:nil];

UINib *nib = [UINib nibWithNibName:@"xib名称" bundle:nil]; // nil 默认是mainBundle

NSArray *array = [nib instantiteWithOwer:nil object:nil];

xib的使用注意点

如果是通过代码创建的控件,初始化时一定会调用initWithFrame

如果是通过xib或者storyboard创建控件,初始化时是不会调用initWithFrame,会调用initWithCoder

如果是通过xib或者storyboard创建控件,初始化完毕后会调用awakeFromNib方法

建议在awakeFromNib中做初始化

layoutSubviews设置子控件的frame 这个也能做初始化

在layoutSubviews方法中设置子控件的frame(layoutSubviews一定要调用[super layoutSubviews] )

xcode xib 加载 、注意点的更多相关文章

  1. plist文件的读取和xib加载cell

    plist 文件读取 例如在工程里倒入了plist文件 在工程里需要用到plist文件里的信息,就需要把plist文件读取出来. 如程序: -(NSArray *)moreDataArr{ if (! ...

  2. IOS第八天(2:UITableViewController团购,点击底部,xib加载更多, 代理模式)

    ******* HMViewController.h #import "HMViewController.h" #import "HMTg.h" #import ...

  3. 从xib加载文件

    一般自定义View, 如果从xib加载文件, 定义一个类方法, 返回xib + (instancetype)dropdown { return [[[NSBundle mainBundle] load ...

  4. 忘记block格式 xib加载没有计算导航栏和tabbar的大小

    敲inlineBlock xib加载没有计算导航栏和tabbar的大小 /将这个属性改为no self.tabBarController.tabBar.translucent = NO; 判断优化,两 ...

  5. xib加载的两种方式

      •Xib文件的加载 Ø方法1 NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"AppView" owner:nil ...

  6. 通过Xib加载控制器的View

    1.创建窗口self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];2.设置窗口根控制器2.1从XIB当 ...

  7. 不修改Xcode项目加载Reveal

    关 于iOS UI调试工具Reveal的配置,很多初学者朋友可能在网上搜索到一些文章,这些文章大部分都是讲述了如何通过配置Xcode项目,通过加入一些库文件, 并且在程序中编写额外的代码来调用Reve ...

  8. 通过xib加载UITableViewCell的新方式

    我们以前通常会这样做 - (UITableViewCell  *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPa ...

  9. 通过xib加载textfield的时候 发生 this class is not key value coding-compliant for the key textField. 情况怎么解决

    连线的时候不要选files’owner 要选xib自己的class

随机推荐

  1. 表格无边框,有内框,在table嵌套时,防止出现重复边线

    <html> <head> <title>test 表格无边框,有内框! ^^ CSDN 学习积累</title> <style type=&qu ...

  2. MSSQL 获取指定日期所在星期的第一天和最后一天日期 获取指定日期坐在月的第一天和最后一天

    ufn_GetWeekFirstAndEndDay    获取指定日期所在星期的第一天和最后一天日期 ALTER FUNCTION [dbo].[ufn_GetWeekFirstAndEndDay]( ...

  3. Android UI SurfaceView的使用-绘制组合图型,并使其移动

    绘制容器类: //图形绘制容器 public class Contanier { private List<Contanier> list; private float x=0,y=0; ...

  4. python导入模块的方法

    先看代码: import time #利用import print "how", time.sleep(2) #sleep()方法前面必须得有导入模块的名字time print & ...

  5. 如何用C#把Doc文档转换成rtf格式

    先在项目引用里添加上对Microsoft Word 9.0 object library的引用 using System; namespace DocConvert { class DoctoRtf ...

  6. 轻量级C语言实现的minixml解析库入门教程

    svn上的minixml源码下载.  svn co http://svn.msweet.org/mxml/tags/release-2.7/ 按照下载回来的源代码进行编译和安装.本教程只针对新手做一个 ...

  7. JAVA策略模式

    <JAVA与模式>之策略模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法 ...

  8. 自定义构造方法和description方法

    知识回顾在第5讲中已经介绍了如何定义类和创建并初始化对象,比如有Student这个类1.Student.h 1 #import <Foundation/Foundation.h>23@in ...

  9. 简单的BFS学习笔记

    什么是BFS传送门. 今天学习BFS,加油! 先定义个数组: struct Node{ int a=0; int b=0; int step=0; }; int map[5][4]={//地图 0,0 ...

  10. Description:一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。Input:你的程序需要解决的问题是,输入连续对折的次数。NOutput输出中间切一刀,可以得到多少根面条。

    #include<iostream> using namespace std ; int main() { int n ; while(cin >> n) { << ...