通过xib文件创建和连接UIView】的更多相关文章

使用Xcode写程序,时间长了,对于界面上的元素,很多时候不想手写代码进行构建,但是有些UIView里面的子控件,又不能通过xib直接进行构造,要是总使用UIViewController来结合xib进行构造界面,在一些时候会觉得浪费(总觉得大才小用),系统开销也不一样,具体没测过,只是个人感觉. xib文件可以通过NSBundle来装载,装载后得到一个NSArray,可以用这个NSArray来进行构造UIView,需要放在UIView里显示的元素,可以在构造xib的时候拖放到界面上,需要注意的是…
UICollectionView是一种新的数据展示方式,简单来说可以把它理解成多列的UITableView.如果你用过iBooks的话,可能你还对书架布局有一定印象,一个虚拟书架上放着你下载和购买的各类图书,整齐排列.其实这就是一个UICollectionView的表现形式,或者iPad的iOS6中的原生时钟应用中的各个时钟,也是UICollectionView的最简单的一个布局. 集合视图UICollectionView介绍 集合视图UICollectionView和表视图UITableVie…
在不同的Xib文件中最容易维护的是定义的视图,因此对于从Xib文件中加载UIView来说一个方便的流程是非常重要. 在过去的几年里我发现唯一易于管理创建和维护视图(或者任何界面元素,通常会更多)方式就是从Xib实例化UIView.在界面编辑器里面创建和设计界面远远比使用代码来写界面布局和定义布局常量(尺寸.颜色)甚至一些糟糕的魔法数字来限制元素更加直观. 现在介绍一下我在不同情况下使用过的5种方法 1.简单方式(从Xib加载UIView比较原始的方法) 这种方式仅仅适用于只有一个视图并且没有任何…
https://www.jianshu.com/p/1bcc29653085 总结的比较好 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件. 下面就来说说自定义View的封装以及它的多种实现方式 自定义UIView(控件)的封装 什么是View的封装 如果一个View的内部子控件比较多,一般会考虑自定义一个View,把它内部子控件的创建屏蔽起来,不让外部关心. 外界传入对应的数据模型给view.view拿到数据模型之后给内部的子控件设置对应的数据. 封装自定义控件的基本…
转自:http://www.cnblogs.com/china-ldw/p/3533896.html 在做ios应用开发的过程,难免遇到要创建 子view 和 自定义view的时候,归根到底,我们需要得到一个UIView: 要得到这个UIView,大致有三种方法: 1,创建一个UIViewController,带上一个XIB,得到的UIView为 UIViewController.view; 2,创建一个XIB,然后直接load这个XIB:代码如下 NSArray *nibView =  [[N…
使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib文件是什么? A nib file describes the visual elements of your application’s user interface, including windows, views, controls, and many others. It can also…
Xib文件是一个轻量级的用来描述局部界面的文件,在之前的文章讲解了为控制器添加Xib文件,本节主要讲解一下通过xib文件表示局部界面. <一> 创建Xib文件 Xib文件创建的时候是选择User Interface里面的Empty模板创建,当然,如果你想创建一个新的欢迎界面,可以直接选择Launch Screen模板,此外,Storyboard文件也是在这选择.当你选择Empty模板时,默认创建的文件后缀名为xib,也就是xib文件. <二>  Xib文件存放局部view 创建的x…
Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑.但是StoryBoard是重量级的,它是用来描述整个软件的多个界面,并且能够展示多个页面之间的跳转关系.在StoryBoard出现之前,一直是使用Xib文件表示界面.当然除了使用Xib文件,也可以直接使用代码来生成界面,无论哪种方式,都各自有自己的优缺点. Xib既可以用来表示一个控制器的界面,又可以用来表示不同控制器中的局部的小界面.在本节,主要讲解一下用Xib…
IOS Xib使用——为控制器添加Xib文件 Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑.但是StoryBoard是重量级的,它是用来描述整个软件的多个界面,并且能够展示多个页面之间的跳转关系.在StoryBoard出现之前,一直是使用Xib文件表示界面.当然除了使用Xib文件,也可以直接使用代码来生成界面,无论哪种方式,都各自有自己的优缺点. Xib既可以用来表示一个控制器的界面,又可以用来表示不同控制器…
在ios中,一般建议使用代码布局,因为使用代码布局,后期维护容易,拓展容易,并且可以实现动态加载很多数据,但是代码布局比较繁琐,不适合初学者.Xib布局或者Storyboard布局比较方便.下面介绍一下xib和storyboard的知识及创建使用方法. 有关nib.xib和storyboard的往事 nib和xib的那些事儿 开发 iOS 或 Mac 程序,搭建界面是避免不了的.Xcode 包含了一个工具 Interface Builder,可以用图形化的方式,使用鼠标拖拉来创建界面.Xcode…
ios中Xib的使用 ios中xib的使用 Nib files are the quintessential(典型的) resource type used to create iOS and Mac apps. A nib file is a data archive that essentially contains a set of freeze-dried objects that you want to recreate at runtime. Nib files are used m…
给大家演示 应用程序下载 小项目,效果图:涉及知识点:懒加载,九宫格算法,字典转模型,自定义UIView ,xib文件的使用 首先把素材拖到Xcode项目中:简单看一下素材文件 此时大家应该首先关注.plist后缀的文件,里面存放的是我们用的数据,接下来看一下plist文件里面的数据 从这里面可以看到有12个应用程序下载,也就是12个UIView控件, 接下来,我们就加载这个plist文件,使用里面的数据.首先不是把plist文件拖拽到Xcode中就会自动使用的,而是加载plist文件,才能使用…
创建了一个XIB文件 CommentCell.xib,并设置好UIImageView的tag为100,昵称UILabel的tag为101,时间的UILabel的tag为102,并制定cell为CommentCell 在tabbleView里面调用loadNibNamed:owner:options方法创建xib视图的时候,会调用CommentCell里面的 awakeFromNib方法创建view对象 - (UITableViewCell *)tableView:(UITableView *)t…
程序启动开始到view显示: 程序启动首先会执行main函数 - > UIApplicationMain函数: 程序启动 (加载框架,info文件,资源等) 执行Main函数 初始化UIApplication单例对象 初始化AppDelegate对象,并设为UIApplication对象的代理 然后调用UIApplication的didFinishLaunchingWithOptions方法创建UIWindow对象,设置rootViewController根控制器等 然后建立一个主事件循环,其中…
情景是这样的,我UITableView添加了一个HeaderView,这个HeaderView是通过xib创建,是UIView.出来的结果却出乎意料,UITableView的Cell最顶部的几个被HeaderView给遮挡了---我勒个去--神马情况???!!! 于是哥通过看层次结构,发现运行出来的HeaderView和Cell列表不在同一层次,理应是同一层才对呀!!!!于是我用其他xib试试,情况一样,然后改用代码创建 UIView() 类似这种方式,这样就是正常的,HeaderView和Ce…
参考:  http://www.open-open.com/lib/view/open1430008922468.html - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.dataArray = [NSMutableArray arrayWithArray: @[@"1",@"2&qu…
终于效果图 BeyondViewController.h // // BeyondViewController.h // 6_ToolBar // // Created by beyond on 14-7-24. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> @interface BeyondViewController : UIViewController - (IBAct…
本文并非最终版本,如有更新或更正会第一时间置顶,联系方式详见文末 如果觉得本文内容过长,请前往本人 “简书”       控制器 :   一个iOS的app很少只由一个控制器组成,除非这个app极其简单 当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D,控制器A被称为控制器B.C.D的“父控制器”,控制器B.C.D的被…
流程:判断是否view属性为nil,如果为空,调用loadView方法,如果重写了loadView方法,那么从代码创建普通视图,如果没有重写并且有storyBoard或者xib文件,那么从storyBoard加载视图,如果没有,那么创建一个空的view. 初始化: 第一种初始化方法:假如MainUIViewController类继承了UIViewController类,mainUIViewController是MainUIViewController的实例对象,当调用Init方法的时候[Main…
李洪强iOS经典面试题140-UI   UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? viewWillAppear:视图即将可见时调用.默认情况下不执行任何操作 viewDidAppear:视图已完全过渡到屏幕上时调用 viewWillDisappear:视图被驳回时调用,覆盖或以其他方式隐藏.默认情况下不执行任何操作 viewDidDisappear:视图被驳回后调用,覆盖或以其…
iOS应用程序一般都是由自己编写的代码和系统框架组成.系统框架提供了一些基本的infrastructure给APP来运行,而开发者则自己编写代码定制APP的外观和行为,了解iOS infrastructure及其如何工作对编写APP很有帮助. Main函数入口 所有基于C编写的APP的入口都是main函数,但iOS应用程序有点不同.不同就是你不需要为iOS应用程序而编写main函数,当你使用Xcode创建工程的时候就已经提供了.除非一些特殊情况,否则你不应该修改Xcode提供的main函数实现.…
1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图显示到屏幕上了,点击按钮 * 添加子视图也会调用这个方法 * 当本视图的大小发生改变的时候是会调用的 * 当子视图的frame发生改变的时候是会调用的 * 当删除子视图的时候是会调用的 3,NSString过滤特殊字符 // 定义一个特殊字符的集合 NSCharacterSet *set = [NS…
生命周期 我们建立一个简单的模型来测试生命周期:新建两个ViewController,一个是主视图控制器(main ViewController,以下简称mainVC),一个是副视图控制器(sub ViewController,以下简称subVC),在mainVC里点击一个Button,以modal方式切换至subVC,然后在subVC里点击另一个Button关闭subVC并返回mainVC.我们将这两个控制器的每个状态都打印出来,各个阶段的执行如下: case 1. 第一次运行app: mai…
一.文件系统 二.代码结构 三.常量  宏 四.布局方式  数据持久化 五.网络 六.类目.延展 七.内存.线程 八.其他 九.版本控制.上线相关 十.附录1(公共库) 十一.附录2(公共类目) 十二.附录3(公共控件)   一.文件系统 总则 文件的物理路径和逻辑路经保持统一 每个业务文件夹下都是MVC大结构 如果有支持性的VC,这个VC写在和View.Model平行的文件夹Vendor文件夹里面 公用的文件放在最外面 文件命名 文件夹及文件首字母大写,符合驼峰命名规范 业务类不需要前缀(PT…
1.MVC 从字面意思来理解,MVC 即 Modal View Controller(模型 视图 控制器),是 Xerox PARC 在 20 世纪 80 年代为编程语言 Smalltalk-80 发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中.其用意在于将数据与视图分离开来.在 iOS 开发中 MVC 的机制被使用的淋漓尽致,充分理解 iOS 的 MVC 模式,有助于我们程序的组织合理性. MVC 的几个明显的特征和体现: View 上面显示什么东西,取决于 Model. 只要 M…
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableView : UIScrollView <NSCoding> @available(iOS 2.0, *) public class UITableView : UIScrollView, NSCoding 1.tableView 的创建 Objective-C 遵守 UITableViewDelegate, UITableViewDataSource 协议 数据源 初始化 // 声明数据源,必须…
1 创建并运行第一个App 1.1 问题 使用Xcode创建一个App项目,该应用实现功能在界面上显示Hello World标签,在模拟器中的运行结果如图-1所示: 图-1 1.2 方案 分析图-1,首先使用Xcode创建一个Single ViewApplicaton应用,起名为MyFirstApp,如图-2所示: 图-2 然后删除Xcode的导航栏里只保留TRAppDelegate.h文件和TRAppDelageat.m文件,其他代码文件.storyboard文件以及xib文件删除,如图-3所…
首先.如果你调用self.view的时候,就会调用view的getter方法, 这个时候,view是空的,那么系统就会自动给你创建一个view,然后就会触发ViewDidLoad方法.那么这个时候,如果你init方法里有数组初始化.但是你还没走到那步,而直接就给数组赋值了,那么这个值赋值给了一个不存在的数组.这样就容易出现错误.所以,尽量不要在init方法里写可视化控件的语句. 附1: UIViewController的生命周期: 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1…
A.控制器的创建 控制器常见的创建方式有以下几种通过storyboard创建 直接创建 ViewController *vc = [[ViewController alloc] init];      xib设置了class后,当xib的文件名跟controller类名一样的时候,用这个方法默认就会加载xib中的controller   指定xib文件来创建 ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewCo…
原文链接:http://www.jianshu.com/p/7c3ee5e67d03. 自己看的. 1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图显示到屏幕上了,点击按钮 * 添加子视图也会调用这个方法 * 当本视图的大小发生改变的时候是会调用的 * 当子视图的frame发生改变的时候是会调用的 * 当删除子视图的时候是会调用的 3,NSStr…