iOS-xib的使用1】的更多相关文章

今天看了一下xib里的一些小技巧,但是百度一搜的话,网上已经有人写过教程了,在这里我也就懒一下,不写那么详细了,就写一些如何百度的方法! 1."通过KVC修改占位文字的颜色" [textField1 setValue:[UIColor greenColor] forKeyPath:@"_placeholderLabel.textColor"]; 2.如何在xib中设置圆角(ios xib设置圆角) layer.masksToBounds layer.cornerRa…
IOS - xib(Interface Builder,view) - can't change view size(view不能改变大小问题) 今天在试着swift语言写个demo,,当中遇到了这个问题,分享一下 当我们自己定义tableview.collectionview的cell,也有时候我们要自己定义窗体xib,但创建xib后,其height.width不可改动. 这时问题就来了.怎么才干使我们的自己定义xib宽高可改动: 项目中创建xib,单独的view时, 方法: 默认Simula…
使用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…
https://www.jianshu.com/p/1bcc29653085 总结的比较好 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件. 下面就来说说自定义View的封装以及它的多种实现方式 自定义UIView(控件)的封装 什么是View的封装 如果一个View的内部子控件比较多,一般会考虑自定义一个View,把它内部子控件的创建屏蔽起来,不让外部关心. 外界传入对应的数据模型给view.view拿到数据模型之后给内部的子控件设置对应的数据. 封装自定义控件的基本…
iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行程序,程序直接崩溃,报错如下: 说明:手势不会有superView方法,superView是UIView的方法,说明我们错误的把手势对象当成是UIView来用了. 调试查看出现问题的原因: 出现问题的原因: 说明:通过lastObject取出来的对象是手势,而不是xib,因此出现上面的错误. 把la…
2018开篇第一篇文章,本文分享一点关于XIB的小知识,对于iOS开发新人来说或许有用. XIB 是 Interface Builder 的图形界面设计文档. 从Xcode 3.0 开始,苹果提供Xib文件构建UI元素,其本质是XML文本文件,可以很方便的编辑. 到了Xcode 4之后更被直接集成到了Xcode中成为了IDE的一部分. 在日常开发中,使用XIB可以进行控件的快速集成,是一种小而快捷的生成途径,但是同时存在一定的弊端.不如纯代码编写模式那样适合大型项目大规模使用,利于版本管理.追踪…
XIB--AutoLayout添加约束 仿QQ登录界面: 说明:以下各图背景红色只是方便看清楚: 1.创建工程:创建xib文件 2.打开xib文件: (1).创建头像: 拖控件:uiimageview-->放到任意位置-->点击Align键,Pin键:如下图: 此时:就可以对控件任意约束了: 说明:由于时间原因,没介绍的以后慢慢自己琢磨: Align键:Horizontally: 垂直居中对齐: Vertically:水平居中对其: Pin键: Add New Constraints:表示这个…
需要阅读UITraitCollection的说明文档,先截图如下: 今天说说xib中的size class的简单设置,先看图 一共有9个小块,水平方向代表width,垂直方向代表height. 对于width 和 height来说,其实就2种值可选,一种是紧凑的 compact ,一种是 普通的 regular.但是系统还多提供了一种Any,表示2者都可以,所以就是3种值可选了. 在水平方向选一个长度就是compact width,选2个就是 any width,选3个就是 regular wi…
1. 从xib的viewcontroll中启动storyboard 或者 从一个storyboard切换到另一个storyboard: [objc]– (IBAction)openStoryboard:(id)sender { UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; LoginTableViewController *vc = [story instantiateViewCo…
UITableView是一种常用的UI控件,在实际开发中,由于原生api的局限,自定义UITableViewCell十分重要,自定义cell可以通过代码,也可以通过xib. 这篇随笔介绍的是通过xib自定义cell. 首先通过gif介绍如何创建xib. 然后实现代码部分,要注意的是实现代码的同时要使代码与xib相关联.-如图 下面便是代码,一些解释我在代码中注释了. ViewController.m // // ViewController.m // CX-Xib在tableView中的简单应用…
在xcode 5.0中 用xib编辑tableview有2种模式,见下图 其中,dynamic prototype 动态原型 表示tableview会询问它指定的 data source获取数据,如果不写,则报错.而static cells 表示可以不依赖指定的data source,创建一个固定的tableview样式,但是如果你制定了data source,并且实现了响应的函数,那么还是以你实现的函数为准.注意,static cell 这种编辑模式是为UITableViewControlle…
事件描述: 用xib创建了一个View,里面有按钮,有TableView.我需要将数据在初始化时传递进去,方便TableView来显示信息. 首先想到的是awakeFromNib这个方法(我以为是和ViewDidLoad差不多的方法,后来发现差多了),在这个里面,将上一个界面的数据通过公共变量读取到.但是,公共变量的值为空.跟代码,我发现,当View使用nib在初始化时,就会调用这个方法: ConnectionView * connectionView = [[[NSBundle mainBun…
前言 xib 文件可以被 Xcode 编译成 nib 文件,xib 文件本质上是一个 xml 文件,而 nib 文件就是编译后的二进制文件,该文件将视图等控件对象封装了起来,而在程序运行起来后,这些对象会被激活.xib 可以用 vim 或 cat 命令查看.nib 文件可以在程序的 Build 目录下找到. xib 文件有以下几个重要的属性,从哪里加载 xib,加载 xib 中的什么视图,都可以根据这几个属性得出. xib 文件名 File's Owner xib 文件中的视图的 Class x…
1. 从xib的viewcontroll中启动storyboard 或者 从一个storyboard切换到另一个storyboard: [objc]– (IBAction)openStoryboard:(id)sender {UIStoryboard *secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];[self presentModalViewController:[…
1. 从xib的viewcontroll中启动storyboard 或者 从一个storyboard切换到另一个storyboard: [objc]– (IBAction)openStoryboard:(id)sender {UIStoryboard *secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];[self presentModalViewController:[…
应用程序代理类 WKAppDelegate.m // // WKAppDelegate.m // HelloWorld // // Created by easy5 on 13-9-18. // Copyright (c) 2013年 easy5. All rights reserved. // #import "WKAppDelegate.h" #import "WKViewController.h" @implementation WKAppDelegate -…
2.调用UiView动画 WeakSelf; self.detailsViewBom.constant += 230; [UIView animateWithDuration:animotiontime animations:^{ //需要这样去重制View [weakSelf.view layoutIfNeeded]; } completion:^(BOOL finished){ weakSelf.detailsBtn.userInteractionEnabled = YES; }]; 1.在…
在使用xib自定义view的时候,个人习惯性的直接使用xib中的约束,所以自然而然的要打开Autolayout.以前在使用的时候没有发现什么问题,最近项目中使用的时候突然发现在导航栏透明的情况下,出现实际的frame比设置的frame高度缩小64的问题,然后上网查找各种博客,最后差点被五花八门的写法带跑偏了,遂简单记录一下正确的解决方式. 自定义方法大致如下: 1.xib 和TestXibView是绑定的 2.xib中如下图:(Autolayout开启的) 3.TestXibView.m中主要代…
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…
很多时候,我们自定义tableview.collectionview的cell,也有时候我们要自定义窗口xib,但创建xib后,其height.width不可修改. 这时问题就来了,怎么才能使我们的自定义xib宽高可修改: 项目中创建xib,单独的view时, 方法: 默认Simulated metric中Size:inferred(推断),则view的height.width不可改变: 修改为Size:Freeform,现在我们的xib view 宽高可修改了. 学习并转载:http://ip…
1.代码实现Cell高度自适应的方法 通过代码来实现,需要计算每个控件的高度,之后获取一个cell的 总高度,比较常见的是通过lable的文本计算需要的高度. CGSize labelsize = [@"asdassdas" sizeWithFont:font constrainedToSize:CGSizeMake(320,2000) lineBreakMode:NSLineBreakModeWordWrap]; 这样就可以计算展示需要的高度,cell里面展示的时候可以在代理的方法内…
1,造成此问题可能是SVN的原因,通过命令行解决. 2.未使用SVN,竟然是icloud 造成的,通过 改变网络状态 + 重启Xcode 解决.…
选择两个视图使其等宽高,再去约束里面就可以设置乘数因子. 简单的一个例子: 要求:设置白色视图的宽度为蓝色视图的一半 1.点击白色视图连线到父视图,选择 Equal Widths     2.选择右边第五个模块 直尺     3.双击刚刚添加的宽度约束    4.视图如下 5.在Multipler里填上0.5   6.Constant是在 宽度0.5倍基础上的增量   7.再设置其他的约束,即可…
如何修改autolayout 约束的值? 1 2 3 4 5 6 目前我已知的方法有5种 1.修改frame(有时候可能会不起作用,但可以做动画) 2.修改约束的float值 3.使用VisualFormat 语言 4.使用 constraintWithItem,按倍率改变   如  2x+1=Y  5.移除约束(remove at runtime),添加新的约束 前面的文章已经讲到如何使用storyboard 创建约束了,但是在实际的开发中我们经常需要适配不同的屏幕尺寸和系统版本,这时我们就…
对于这个问题使用Masonry是很好解决的. 注意:绿色的是label2,当indexpath.section % 2 == 0时,label2不存在. 关键代码如下: if (indexPath.section % 2 == 0) { [cell.label2 mas_updateConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(0); }]; } 代码如下: // // ViewController.m //…
基本上以下几点就能解决除横屏以外的适配问题 1.页边距约束 (Leading and Trailing space) 页边间距约束分前部间距约束(Leading space constaint)和尾部间距约束(Trailing space constaint).从屏幕上说就是左边距和右边距.我们给蓝色方块添加左边距约束,其值设置为10,给粉色方块设置右边距约束,其值也设置为10.…
IOS Xib使用——为控制器添加Xib文件 Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑.但是StoryBoard是重量级的,它是用来描述整个软件的多个界面,并且能够展示多个页面之间的跳转关系.在StoryBoard出现之前,一直是使用Xib文件表示界面.当然除了使用Xib文件,也可以直接使用代码来生成界面,无论哪种方式,都各自有自己的优缺点. Xib既可以用来表示一个控制器的界面,又可以用来表示不同控制器…
1.IOS - xib(Interface Builder,view) - can't change view size(view不能改变大小问题) 很多时候,我们自定义tableview.collectionview的cell,也有时候我们要自定义窗口xib,但创建xib后,其height.width不可修改. 这时问题就来了,怎么才能使我们的自定义xib宽高可修改: 项目中创建xib,单独的view时, 方法: 默认Simulated metric中Size:inferred(推断),则vi…