首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发之-xib创建自定义View

iOS开发中,自定义view是很常见事情,如果view上视图功能复杂,固然可以通过frame来计算各个空间位置来布局,不过开发时间就长了,apple为我们提供了快速开发工具xib,今天就介绍介绍如何通过...xib来自定义view,提升开发效率。...2:创建一个xib xib名字和第一步名字可以相同也可以不同,为了便于维护还是建议大家吧两者名字统一 ? ? 3:把view和xib关联起来 ?...4:在xib上创建自己空间,并拖拽出来 ? 5:然后再view初始化中加载这个视图 ?...到此这个自定义工作基本已经完成,如果需要做封装什么可以在这个基础上进行封装~~ ps:作者在使用时候就犯了一个错误,就是 self = [[[NSBundle mainBundle] loadNibNamed

3K50

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

用法 1.7 @property 2.1 字典转模型实现步骤 2.2 字典转模型过程 3.1xib 加载方式 3.2 xib与storyBoard异同点 4.1 View封装 4.2...文件加载)->实现按钮监听方法 5、使用类方法加载xib,简化代码搭建界面 6、自定义视图,使用数据模型装配视图内容 若一个view内部子控件比较多,通常会考虑自定义一个view 把内部子控件创建屏蔽起来...开发前:设定开发计划、步骤开发过程中:每一个步骤告一段落之后,我们要暂停,进行代码审核,有针对性重构(抽离重复代码,模型和视图各尽职责) 代码重构原则:把代码放在它最应该呆地方 1、使用类方法实现字典实例化模型...,让编译器主动推动对象实际类型,以避免使用ID,造成开发中不必要麻烦 1.instancetype 只能使用于返回值类型,不能像id一样用于参数类型;但instancetype比id多一个好处是:...of type 'KNAppInfo *'),以避免使用ID造成开发中不必要麻烦 2.Init方法应该遵循Apple生成代码模板命名规则,返回类型应该使用instancetype而不是id。

83210

iOS-关于加载xib

是重量级,用来描述整个软件多个界面,并且能够展示多个界面的跳转关系 加载xib xib文件在编译后会变成nib文件 xib文件.png 第一种加载方式 NSArray * xibArray = [...,如果有就去加载(XXViewController.xib) 控制器类名同名xib 第二步:寻找有没有和控制器类名同名但是不带Controllerxib,如果有就去加载(XXView.xib)...和控制器类名同名但是不带Controllerxib 第三步:如果没有找到合适xib,就会创建一个View(白色View,为系统自己创建xib自定义控件与代码自定义区别 这是自定义一个View...文件里有三个View) 通过加载xib方法初始化自定义控件log打印 代码实验结论: 通过代码初始化自定义控件是不会自动加载xib,它会执行initWithFrame和init 通过加载xib...初始化自定义控件,仅仅执行 initWithCoder 和awakeFromNib,如果要通过代码修改xib内容,一般建议放在awakeFromNib方法内 控件封装 一般封装一个控件,为了让开发者方便使用

18010

iOS Xib UILabel 统一颜色配置

在利用Xib开发过程,UILabel可以直接在Xib上设置,所见即所得非常方便,但是如果颜色值需要改变就需要一个一个页面修改,非常麻烦。网上搜索了下好像没有找到很好解决方案。...解决办法一 Xib上每个UILabel连线用代码统一设置,这样配置一个颜色值宏,如果有变动统一修改颜色值即可,不方便地方就是麻烦,如果界面UILabel多连线多。...左图是Xib上设置颜色值,右边是运行颜色值,所以即使在Xib上设置了颜色值也不影响。最后还是变成代码设置颜色值。 ?...截屏2021-07-15 09.54.20.png 解决办法3 直接在Assets.xcassets 设置颜色值 image.png 截屏2021-07-19 10.59.52.png 使用时候直接选择更方便...个人感觉解决办法3比较好用,所见即所得很直观看到颜色。 如果有其他好解决办法烦请告知一下。

1.2K40

iOSXib中设置样式

简介 iOS在写视图有的人喜欢纯代码去写,从之前绝对定位方式(Frame),到现在自动布局(Autolayout),但这种方式好处是便于复制修改和装X,但是缺点是代码不容易看,不便于修改 也有人喜欢所见即所得...用storyboard和xib进行view生成,这种方式运行效率是会降低,但现在手机配置基本可以忽略这点弊端,官方也推荐这种方式 常用技巧 选中View 当你想直接在view中选择自己想要元素时...添加AutoLayout边距约束时如何不使用margin约束 通常我习惯于在xib或者StoryBoard中用右键drag拖线方式设置autolayout约束,但是默认autolayout边距约束可能是带...添加第三方字体 把字体ttf文件像普通文件加入到项目中,在xib或storyboard中就可以直接使用新字体了 属性设置 但是很多属性设置 在xib中是不能完全自定义,作为一个喜欢用xib这种方式码客来说...,当然能最大限度使用xib可自定义属性当然是极好,下面就说一下一些不常用xib中可设置属性 这些属性设置在右面设置菜单第三个选项卡User Defined Runtime Attributes

2.3K20

iOS开发:NSSet使用

前言 在iOS开发过程中,有些时候会用到去重处理,也就是去掉重复元素或者个数,然后再进行排序处理,这就使用到了集合(NSSet),它其实是一种哈希表,通过运用散列算法来查找集合中元素。...集合和数组相同点:都是存储不同元素地址,不同点:NSSet中元素都是被自动过滤之后不会重复元素,NSArray中元素却是允许重复;NSSet是一个无顺序集合,NSArray是一个有顺序集合...相对来说,NSSet处理效率比NSArray要快。 本节内容就来简单介绍一下NSSet使用,并且会举一个实际使用案例来展示。...一、基本常用方法 (一)NSSet 1、集合初始化: NSSet在初始化时候,赋值时候如果放入两个相同元素的话,会自动删除其中一个相同元素。...封装了一个工具类来进行系统化处理,具体代码及使用地方如下所示: 1、工具类.h文件: #import @interface JSHistoryTool

1.5K64

iOS开发——FMDB使用

今天决定给手上项目加上一个数据库,用来进行数据持久化操作,关于在iOS数据持久化方式差异,这里也就不再赘述,相信如果真实使用并且去感受过的人,有自己评判标准。...在比较了Realm、SQLite之后,我决定在项目中依然使用SQLite数据库,并切还是使用FMDB这个第三方库来简化操作。...SQLite语句,从我自身来说,感觉其实没有那么好记忆力,所以我又花了一点点时间来温习FMDB常规操作,想到自己从来没有总结过数据库这方面的知识,今天就花一点点时间,对iOS端SQLite数据库做一点操作层面的总结...建表以及关闭表 使用数据库第一件事,就是建立一个数据库。要注意是,在iOS环境下,只有document directory 是可以进行读写。...比较不同是,因为插入数据会跟Objective-C变数有关,所以在string里使用?号来代表这些变数。

74430

iOS中Cell约束--使用xib实现多label自动约束--高度随内容自适应

made in 小蠢驴配图        说起iOS开发,很多人印象就是-弄一个tableView,把数据全丢到上面展示,听起来好像很粗糙,不过仔细一想,确实展示数据内容,用tableView是最多了吧...本文主题是--tableViewCell高度自适应,计算cell高度方法确实有好几种,因为做cell时候,比较简单界面我都是直接拉xib,手动连接约束比较省事,所以今天就来探索一波-- 使用xib...所以并不会换行 xib约束展示 如图,我们知道label只要设置两条约束,宽和高都可以自动实现内容自适应,但是,这里如果不设置宽(添加右侧约束 == 确定 宽),label宽会无限大,无限跑到内容外部去...修改完展示 此时,label相互之间约束冲突就解决了~ ---- 接下去,就是设置tableViewCell高度自适应问题了; xib快捷设置方法:1.在xib中,设置 顶部 和 底部 约束之后...;                                   2.手动计算 高度 约束值                                   3.使用Xcode自动适应Cell

3.3K60

iOS开发-git使用

可以使用命令行安装,也可以下载工具包安装 确定文件保存在自己仓库哪个地方 命令行: cd (不会路径,把文件拖动到这里) 添加文件到暂缓区 针对单一文件添加:git add (文件名) 如果提示密码邮箱...版本回退: git reset --hard (版本号) HEAD指向版本就是当前版本,因此,Git允许我们在版本历史之间穿梭,使用命令git reset --hard 其他常用git 命令 你做了修改后...git reset HEAD file可以把暂存区修改撤销掉(unstage) 假设你改错了东西,还从暂存区提交到了版本库,直接使用上面的回到历史中 一般团队开发:要在分支进行 git checkout...不信可以用git branch命令看看: git branch `* mas 现在,你小伙伴要在dev分支上开发,就必须创建远程origindev分支到本地,于是他用这个命令创建本地dev分支: git...不信可以用git branch命令看看: git branch master 现在,你小伙伴要在dev分支上开发,就必须创建远程origindev分支到本地,于是他用这个命令创建本地dev分支: git

83910

iOS APP开发全局token使用

在APP开发过程中少不了全局token使用,今天主要和大家分享一下NSUserDefaults使用。...NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据永久保存,而且简单实用,这是它可以让数据自由传递一个前提,也是大家喜欢用它保存简单数据一个主要原因。...使用 NSUserDefaults 存储自定义对象最初,我们必须认识NSUserDefaults可以存储哪一些类型数据,下面一一列出: NSUserDefaults支持数据类型有:NSNumber...如果想要将上述数据类型数据永久保存到NSUserDefaults中去,只需要简单操作(一个Value 一个Key ),例如,想要保存一个NSString对象,代码实现为: 首先,写入token...赋值约等于一次覆盖,要保证每一个Key唯一性

35910

category在iOS开发使用

上面是后端同学按照照module方式开发服务,在整个项目中请求中前缀相同而每个module都有自己前缀,结合起来整个请求URL格式就可以拆分为 HOT:PORT?...参数 那么我们怎么在这些众多网络中去方便管理我们多变url呢?...正如我们标题一样我们采用category将统一网络请求拆分到不同文件中---类似服务端module一样将器拆分到不同文件中进行管理 比如上面的我们将通过用网络请求放置到ApiFetch这个类中...---user,对应Oder也会添加一个order作为模块url参数前缀 然后是模块对应url管理啦: 如上图每个模块都有自己path对应url,我们可以统一防止在category对应头文件中...总之一句话就是分而治之,将杂而乱url分化到不同模块中去,按照每个模块特性去进行管理 最后我们看看怎么使用吧 user模块网络请求实例 NSDictionary * params = @{

73810

怎么让继承类直接使用XIB布局试图

怎么让继承类直接使用XIB布局试图 最近做一个小工具,一键替换key,就是为了解放双手,不然每次运行测试和正式版本都要手动替换key。...自己几乎所有的项目都是用全代码,但是平时demo和一些小工具还是用上可视化试图和最新语言Swift. 做到是一个mac程序,几个界面基本上功能按钮都是一样。就封装了一个类,用上了xib。...但是拖拽一个NSView,继承与我们刚才自定义试图,运行发现出不来我们XIB界面。 我自己分析了一下原因,虽然我们让XIB类指向我们自己自定义试图,但是关联不起来试图。...(coder: NSCoder) 这两个方法里面读取Nib里面的试图获取到设置为自定义试图大小。 最后对于Xib这一块不是很熟悉就没走通,后来经过搜索,解决了我问题。...但是我们是自定义试图,用不上NSViewController。就新建一个xib来做了。 ? 名字命名为OToolBarView.xib我们在xib里面关联刚才创建类。 ?

1.1K20
领券