文件优点 : xib 更方便, 便于版本控制; 3. nib 文件添加控件 xib 添加控件 : -- 对象库面板快捷键 : 使用 control + option + command + 1 快捷键...makeKeyAndVisible]; return YES; } - (void)applicationWillResignActive:(UIApplication *)application { // 当应用程序从活动状态转入不活动状态时...StoryBoard 与 xib 区别详解 (1) Scence 概念 Scene 场景简介 : -- Scene 组成 : Scene 由 整个视图, 视图控制器, 第一响应者 组成; -- 场景与界面...[self.view addSubview:button_delete]; } // 添加控件方法 - (void) addButton { // 生成一个 UILabel 控件...IOS 图标设置 IOS 图片设置 : 直接从文件目录将图片拖动到 Xcode 相应的设置中. -- 设置图标 : 在项目文件视图中, 点击 Images.xcassets, 选中左侧的 AppIcon
周末闲暇,在网上看到一篇Mac开发教程How to Make a Simple Mac App on OS X 10.7 Tutorial: Part 1/3,鉴于Mac开发资料较少,翻译整理,也算是自己练习的一个过程记录...现在Application Delegate 已经拥有了MasterViewController 属性,但是这并不能显示(被view controller管理的)视图到应用程序的屏幕上,我们还需要通过实例化这个属性来创建一个新的...使用initWithNibName:方法从nib(就是我们创建控制器时的Xib)文件中创建了一个新的view Controller。 2....将控制的view 添加到主窗口的容器视图(contentView)中。 3. 设置控制器view的大小与主窗口相等。...添加新的cell,并设置高度值32 1.22 设置table column的重用标识(类似iOS中cell 的identify): ?
但若不使用此默认启动对象MainView,而想自定义一个启动对象,则有很多细节需要考虑。...在最近一个项目中,笔者用Xcode 5创建了一个工程,但因为对Storyboard不熟,所以没敢用默认的Main.storyborad作为启动对象,而想自定义启动过程。...对比此项目与系统模板创建的项目,发现是在MyMainViewController中缺少了与AppDelegate对象的关联,于是在MyMainViewController.xib视图中添加了一个Object...[window addSubview:viewController.view]; 5. [window makeKeyAndVisible]; 6. } 7. 8....[window addSubview:viewController.view] 表示 XXXXXXViewController.xib 、[window makeKeyAndVisible] 是显示该窗口
register(MyNewTableViewCell.self, forCellReuseIdentifier: "myCell") 当注册了Cell之后,在没有可重用的Cell时会自动创建,并且不能在需要时手动创建...tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { //创建cell,不需要判断是否为空,当没有可重用...可以在自定义cell中处理点击状态下的显示 var label1 :UILabel? var label2 :UILabel?...5个时(不包含5)会自动生成一个more视图标签,用来控制第5、6、...以后的视图控制器。...六、从相册选择照片或者拍照 ?
从纯代码UI -> 最初的Xib -> StoryBoard ,感受到UI的搭建也是逐渐可视化,简单化。我是一个可视乎开发的支持者,有一些朋友不喜欢,这个纯属个人爱好,风格不同。...有时候我们想在XIb里直观修改Xib属性,但是Xcode并不全部提供属性修改,可以通过Keypath修改,但是键入太麻烦容易出错,所以可以通过IBInspectable添加自定义属性。...1.自定义Xib View复用 Xcode 创建CocoaTouch Class View的时候,不可以自动生成绑定的Xib View。...(coder: NSCoder)初始化方法中,添加xib视图。 import UIKit class SbView: UIView { required init?...UIView{ sbView.frame = CGRect(x: 0, y: 0, width: 100, height: 100) self.addSubview
功能包含: 支持单张图片 支持带进度条样式 支持持续时间自定义 支持本地图片显示,网路图显示,本地图片和网路图混合显示 支持自定义图片展示Cell(纯代码和Xib创建都支持) 支持UIPageControl...具体位置设置 支持UIPageControl显示颜色设置 支持图片点击回调 cocopod pod 'HRCycleView' 本地图片滚动视图 /// 本地图片 let carouselView...(carouselView) 网络图片滚动视图 let carouselView2 = CarouselView(CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width...(carouselView2) 自定义cell滚动视图 let carouselView3 = CarouselView(CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width...(carouselView3) // 自定义Cell-Delegate-(纯代码和Xib创建都支持) func carouselView(carouselView: CarouselView
= [UIColor orangeColor]; [self.view addSubview:superView]; //子视图 UIView *subView = [[UIView alloc] initWithFrame...中使用AutoResizing,我们需要进行如下的操作,在当我们创建xib视图的时候,我们在XIB里选中一个UIView, 1.进入file Inspector, 在这里取消AutoLayout属性,...IB will do this for you. */ 从以上的描述中,我们可以知道在使用AutoResizing布局时,AutoLayout会根据autoResizing来创建同等行为的constraint...从而实现了视图的自动布局。而当我们确定选择使用AutoLayout添加自己的约束的时候,我们必须设置此属性为NO,XIB中这个属性默认是NO。...约束,自定义的AutoLayout约束就会和AutoResizing里Autolayout约束冲突而报错。
All rights reserved. // #import "MCConstants.h" /** * 可复用组件.用于编写可嵌套的 xib 组件....* 注意: 对于可动态确定布局的部分,如tableView中的cell,直接自行从xib初始化即可,不必继承于 MCComponent. */ @interface MCComponent :...* * @param isFromXib 是否从xib或sb初始化此类. * * 注意: 无论此类是否从xib或sb初始化,组件内部都将从xib文件初始化.....此时应把XIB的File's Owder与自定义的MCComponent关联起来.按照以上步骤,即可实现图示效果....因为我们是基于比例来添加约束,不同屏幕下,会自动等比变换.
Support/Iphone Simulator/ 9.应用程序周期;main—UIapplicationmain处理()—-applicationDidFinishLau main创建自动释放池...addTarget:self action:@selector(alertUser) forControlEvents:UIControlEventTouchUpInside]; 16.Ui创建两种方式 xib...消息内容” delegate:nil cancelButtonTitle:@”确定” otherButtonTitles:nil] autorelease]; [alertView show]; 18.添加视图和删除视图...addSubview添加子视图 insertSubview:atIndex:视图插入到指定索引位置 insertSubview:aboveSubview:视图插入指定视图之上 insertSubview...= CGAffineTransformScale(_view.transform, 0.8, 0.8);//x,y参数是缩放比例 视图平移 UIView *_view = [self.window
通过加载xib文件来创建UIViewController的view 如果没有找到相关联的xib文件,就会创建一个空白的UIView,然后赋值给UIViewController的view属性 默认不用实现...此时整个视图层次(view hierarchy)已经被放到内存中。 无论是从nib文件加载,还是通过纯代码编写界面,viewDidLoad方法都会执行。...三、UIView生命周期其他点 layoutSubviews的被调用的时机: addSubview会触发layoutSubviews,比如viewA add viewB,第一次添加A和B的layoutSubviews...生命周期: application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次。...添加到uiwindow上面 (1)直接将控制器的view添加到UIWindow中,并不理会它对应的控制器 [self.window addsubview:vc.view]; (2)设置uiwindow
4 MVC简单介绍和类前缀 模型 : 数据 视图 : 负责显示 控制器 : 处理逻辑,如跳转界面 类前缀苹果推荐使用三个或三个以上字母,防止重名 5 应用管理-两种加载xib的方式 从 NSBundle...i++) { //计算列号 第几个格子的索引 % 每行的个数 NSUInteger col = i % numberOfCol; // 计算X...(appX, appY, appW, appH); //把appView添加到控制器的view上 [self.view addSubview:xib]; } 8 字典转模型...把遍历出来的字典添加入可变数组。...- 根据view提供的方法添加到视图上(c不关心view具体是如何创建的),并且,把解析的模型数据复制给view.h里面用来接收模型类型的属性
添加如下约束: ?...然后在C1.xib中,将与C1类进行关联。只需要在Class那里写入关联的类名C1即可。 ? 还有由于UITableViewCell需要重用功能,所以我们还需要设置一个重用标识。...接着我们在UITableView中来使用我们自定义的UITableViewCell C1。...2,然后再添加三个imageView,将界面上的四个ImageView设置等宽等高。 ?...Fill:子视图填充他所在的位置(默认) Leading:子视图头部对齐 Center:子视图居中对齐 Trailing:子视图尾部对齐 Distribution:子视图的大小 Fill:子视图填充整个
iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的View添加到UIWindow上,于是控制器的View就显示在屏幕上了。...[self.window addsubview:rootVc.view];可直接将控制器的view添加到UIWindow中,并不理会它对应的控制器,但是这种方法违背了MVC原则,当我们需要处理一些业务逻辑的时候就很麻烦了...([self.window addsubview:rootVc.view];没有设置根控制器,所以不能跟着旋转)。 设置根控制器可以将对应界面的事情交给对应的控制器去管理。...我们来看一下[self.window makeKeyAndVisible];的底层实现了哪些功能 可以显示窗口 成为应用程序的主窗口 当我们不调用这个方法,打印self.window。...UIWindow: 0x7f920503cc80; frame = (0 0; 414 736); hidden = YES; gestureRecognizers = x7f92050332a0
比如,给xib中的某个子控件A设置了宽度和高度、距离父控件上下左右之间的间距,就相当于给这个控件添加了6个约束,也就产生了6个约束对象 约束错误警告 红色箭头,代表约束错误,一般是缺少约束或约束冲突(例如...,但并不影响其真实效果,也不会报错 注意:约束有错误,不代表运行会错误,约束错误同样可以运行 约束的规则 相对于父视图的约束,添加到父视图上 对于两个同层级 view 之间的约束关系,添加到它们的父 view...上 相对于另一个控件的约束,添加到其共有的父视图上 对于两个不同层级 view 之间的约束关系,添加到他们最近的共同父 view 上 跨层级的约束,添加到其最上层的父视图上...对于有层次关系的两个 view 之间的约束关系,添加到层次较高的父 view 上 自身的宽高等约束,添加到自身视图上 特殊控件的约束 UILabel默认内容的显示方式是垂直居中的...高度的设置同理可证。 当然,我们也可以只给UILabel设置x、y。但必须要保证UILabel的text属性有内容,否则UILabel显示不出来(这是初学者经常犯的错误)。
无法显示自定义控件从 Xib 加载的问题。...cornerRadius = CGFloat(newValue) } } } 解决 Xib无法显示自定义控件从 Xib加载的问题。...之前自定义控件是加载 Xib的,运行的时候是可以出现的。但是在 Xib是无法进行预览的,我以为这应该属于正常的情况,毕竟程序还没有进行运行。...从 UIKit 到 AppKit。 设置此属性的值以true将视图转换为层次支持的视图,即视图使用CALayer对象来管理其渲染的内容。...同样,不要在分层托管视图中添加子视图。根层(即使用layer属性设置的层)成为层树的根层。必须使用Core Animation界面对该图层树进行任何操作。
第三步:创建视图控制器 自定义导航控制器和视图控制器的父类,并且创建三个继承于BaseViewController的视图控制器(因为没有过多复杂操作,这里省略代码),为之后创建标签控制器做准备。...屏幕快照 2017-07-15 下午12.03.08.png 第四步:创建自定义的标签视图控制器和自定义UITabbar 1.创建自定义标签控制器MainTabBarController,其关键代码如下...//标签栏配置数组,从Plist文件中读取 var mainTabBarView: MainTabBarView!...(itemView) self.itemArray.append(itemView) //添加事件点击处理 itemView.tag...makeKeyAndVisible() //设置Window的根视图控制器为自定义的标签栏 self.window?.
视图构建(loadView) 如果你的视图是通过SB或者XIB来建立的,那么恭喜你,你可以省略这部分代码。如果你是通过代码来构建你的视图,那么你就有必要在这个地方添加你的视图构建和布局代码。...(x, x, x, x); [self.view addSubview:self.vc2.view]; self.vc2.view.frame = CGRectMake(x,...x, x, x); [self.view addSubview:self.vc3.view]; self.vc3.view.frame = CGRectMake(x, x, x, x)...childViewControllerForUserInterfaceStyle; @end @interface UIViewController (UIContainerViewControllerCallbacks) //容器控制器可以重载这个方法来控制子视图控制器中的视图在添加到窗口以及从窗口删除时子视图控制器是否会自动调用...也就是这种方法其实是将更新逻辑从视图控制器移到视图里面了。
2、搭建界面、编写代码 3、九宫格的布局 4、字典装模型(模型数据的处理,plist文件的加载)->实现按钮的监听方法 5、使用类方法加载xib,简化代码搭建界面 6、自定义视图,使用数据模型装配视图内容...,并用数据模型装配视图内容 用类方法进行视图的实例化 + (instancetype) appView;//使用类方法加载xib + (instancetype) appViewWithAppInfo:...(KNAppInfo *) appInfo;//使用类方法加载xib,参数用于视图的数据装配 1.3 九宫格计算方法 1)每一列的x值一样,x值由列号决定 2)每一行的y值一样,y值由行号决定...//将子视图添加至父视图 [self.view addSubview:appView]; } 1.4 内存分析(栈、堆的存储信息) 1、只读指针属性的分析...这样确保编译器正确地推断结果类型,可避免运行时才报错。
对于单元格重用的理解 当屏幕上滑出屏幕时,系统会把这个单元格添加到重用队列中,等待被重用,当有新单元从屏幕外滑入屏幕内时,从重用队列中找看有没有可以重用的单元格,若有,就直接用,没有就重新创建一个。...UITabbarController的原理 运用字典,点击五个按钮的一个可以从字典里选择一个控制器对象,将其View显示到主控制器视图上。...缺点: XIB:需求变动时,需要修改XIB很大,有时候甚至需要重新添加约束,导致开发周期变长。XIB载入相比纯代码自然要慢一些。对于比较复杂逻辑控制不同状态下显示不同内容时,使用XIB是比较困难的。...Storyboard:需求变动时,需要修改storyboard上对应的界面的约束,与XIB一样可能要重新添加约束,或者添加约束会造成大量的冲突,尤其是多团队开发。...设置为不透明:当opque为NO的时候,图层的半透明取决于图片和其本身合成的图层为结果,可提高性能; 不要使用太复杂的XIB/Storyboard:载入时就会将XIB/storyboard需要的所有资源
9.动态方法的动态执行 10.isKindOfClass和isMemberOfClass的区别 11.Label字体大小 12.为UIView某个角添加圆角 13.将一个view放置在其兄弟视图的最上面...设置UIView的边框、圆角 46、将一个xib添加到另外一个xib上 47、处理字符串,使其首字母大写 48、获取字符串中的数字 49、自动搜索功能,用户连续输入的时候不搜索,用户停止输入的时候自动搜索...应用程序完成启动 UIApplicationDidFinishLaunchingNotification 应用程序由挂起变的活跃 UIApplicationWillResignActiveNotification...image 46、将一个xib添加到另外一个xib上 // 假设你的自定义view名字为CustomView,你需要在CustomView.m中重写 `- (instancetype)initWithCoder...将一个xib添加到另外一个xib上 47、处理字符串,使其首字母大写 NSString *str = @"abcdefghijklmn"; NSString *resultStr; if (str &&
领取专属 10元无门槛券
手把手带您无忧上云