iOS 用xib自定义View
网上有很多关于实现用xib自定义View,那我为什么还要写呢?第一,我用他们的方法都没有实现。第二,用xib遇到了很多问题,想分享给大家。
用xib自定义View:FHCustomView
1.新建UIView

2.建一个同名xib : FHCustomView.xib


3.配置FHCustomView.xib

注意:(1)只需要配置View ->Class 为FHCustomView就可以了,以前我把File’s Ower ->Class也配置为FHCustomView了,结果在iOS7中闪退,按钮的点击的方法报unrecognized selector sent to instance 0x1741df770错误,闪退。不用配置File‘s Ower ->Class!
4.重写initWithFrame方法
FHCustomView.m
#import "FHCustomView.h"
@implementation FHCustomView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
self = [[[NSBundle mainBundle] loadNibNamed:@"FHCustomView" owner:self options:nil] lastObject];
if (self) {
self.frame = frame;
}
return self;
}
@end
到这里,用xib自定义View就结束了,是不是感觉很简单。确实很简单,但是我也踩过很多坑。如果配置File’s Ower ->Class,在iOS9、iOS10中都没问题,但是iOS7就会闪退。由于一开始没有iOS7的测试机,我一直没办法定位到问题出现在哪里。个人建议昂,如果刚开始接触iOS开发,最好别用xib。虽然上手容易,不过还是有很多坑,出了问题不好定位,而且只要出问题就是闪退,容错率太低,用户体验不好。
iOS 用xib自定义View的更多相关文章
- IOS 使用XIB 自定义View
一般自定义View 代码方式 有 在初始化的时候添加 子Views - (id)initWithFrame:(CGRect)frame { self = [super initWithFr ...
- iOS中 xib自定义View在storyboard中的使用
1,创建UIView 的SubClass 命名为MyView 2, new一个名为MyView的xib p1 3,配置xib的属性 p2 4,为View 添加背景色,添加一个按钮并定制按钮约束,这里我 ...
- iOS 用xib自定义view控件 debug笔记
1.在view不是很复杂的情况下,如果多次检查后依旧出现coding-compliant这种情况,干脆彻底删除这个xib重新新建一个xib来做一遍.(至今未明真相) 2.初始化xib中的view的大致 ...
- iOS开发——UI基础-自定义构造方法,layoutSubviews,Xib文件,利用Xib自定义View
一.自定义构造方法 有时候需要快速创建对象,可以自定义构造方法 + (instancetype)shopView { return [[self alloc] init]; } - (instance ...
- 详解iOS开发之自定义View
iOS开发之自定义View是本文要将介绍的内容,iOS SDK中的View是UIView,我们可以很方便的自定义一个View.创建一个 Window-based Application程序,在其中添加 ...
- swift 之xib自定义view可视化到storyboard
首先直入正题:@IBInspectable & @IBDesignable 对于 @IBInspectable 和 @IBDesignable 可详见官方文档 : Creating a Cus ...
- 【转】iOS 通过xib自定义UITableViewCell【原创】
原文网址:http://blog.it985.com/9683.html 在使用tableView的时候,如果cell的布局过于复杂,通过代码搭建的话不够直观.并且要不停的调整位置,字体什么的.这时, ...
- [IOS Tableview] cell自定义view显示错误问题
问题介绍:按照tableviewcell的tag自定义cell的view显示的时候,会出现拖动时显示错误情况(在Tableview的范围超出屏幕范围需要滑动的情况下). 我做的是一个下载界面,我为了简 ...
- ios --xib自定义,解决在导航栏不透明的情况下,自定义xib view高度被压缩64的问题
在使用xib自定义view的时候,个人习惯性的直接使用xib中的约束,所以自然而然的要打开Autolayout.以前在使用的时候没有发现什么问题,最近项目中使用的时候突然发现在导航栏透明的情况下,出现 ...
随机推荐
- Linux vim指令学习
每天查看一遍vim文档 Linux系统下命令:$ vimtutor 1.可视模式([v] 或者 [Ctrl + v])下的[U]把选中的文本变为大写 .[u]把选中的文本变为小写. 2.[数字] + ...
- MySQL配置索引页的合并阈值
MySQL配置索引页的合并阈值 如果删除行或者通过UPDATE操作缩短行 可以为索引页面配置MERGE_THRESHOLD值. 当delete与update缩短了行长度时,索引页的"page ...
- Go:json(序列化、反序列化)
一.示例 package main import ( "encoding/json" "fmt" ) type Person struct { Name str ...
- nginx的配置和基本使用命令
配置文件基本说明 配置文件位置:/usr/local/nginx/conf/nginx.conf #设置用户群,nobody代表低权限用户 #user nobody; #工作衍生进程数,通常代表CPU ...
- JavaScript CSS 等前端推荐
推荐两个网站,JAVASCRIPT与前端相关,两边都可以玩,蛮方便的,然后全通后你拿个全英文版本的证书提升逼格. https://www.freecodecamp.org/ https://www.f ...
- LeetCode(69) Sqrt(x)
题目 Total Accepted: 67411 Total Submissions: 286086 Difficulty: Medium Implement int sqrt(int x). Com ...
- centos7 ftp 500 OOPS: cannot change directory:/var/ftp/xutong/
在设置多用户登录的时候 该指定的用户xutong对于上级目录/var/ftp 没有访问权限 修改一下上级目录的权限 chmod /var/ftp 对于ftp多用户访问的配置修改也做一个记录 以是设置F ...
- POJ 1724 二维费用最短路
题目大意:有N个城市,编号1-N有R条路,每条路(单向)的起点为Si,终点为Di,长度为Li,如果要走这条路需要花Ti的钱现在你只有K元钱,求在不超支的前提下,从1走到N需要的最短距离 这里总是希望路 ...
- Linux MTD (Memory Technology Device) subsystem analysis -For Atheros char device
Linux MTD (Memory Technology Device) subsystem analysis For Atheros char device 读了Linux MTD 源代码分析 对这 ...
- 通过复制现有的redhat虚拟机的文件,实现在VMWare8.0上重建一个新的redhat虚拟机环境
1.将需要复制的redhat虚拟机的文件都存放在一个新的文件夹redhat下,因为虚拟机很大,所以复制可能花费较长的时间. 2.复制完成后,打开VMWare,选择“Open a Virtual Mac ...