创建xib的view

IOS 使用XIB 自定义View IOS 使用XIB 自定义View http://blog.youkuaiyun.com/li6185377/article/details/8131042 立即下载

将tableView中的头部添加为xib创建的view的时候,如果直接将view设置成tableViewHeaderView则显示的headerView是固定的高度,而且是不可控的,此时的做法是,从新创建一个view,使其赋值成headerView,然后将此xib格式的view添加到此新创建的view上,此时,就可以进行控制高度了。xib创建的view往往是不可以控制其宽度的,此时可以在创建xib的时候先添加一个view填充满xib,作为xib的contentView,固定其宽高,在其上部添加子view,此时就可以外部控制器宽高,进行适配了。

752372-20160428191934845-1638599403.png

修改属性

752372-20160428192042627-1177143687.png

752372-20170110102912916-1305286419.png

在文件中使用下面方法连接view

/**
 view的xib创建:直接创建view的xib,创建view,两者classname一致,连接xib要调用下面方法
 */
#pragma mark 要想调用xib,需写下面部分
- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
       NSString *className = NSStringFromClass([self class]);
       self = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] lastObject];
    }
    return self;
}

初始化方法

+ (instancetype)guWenNumberLimitViewInitWithView:(UIView *)view;

// 初始化view
+ (instancetype)guWenNumberLimitViewInitWithView:(UIView *)view {

    NSString *limitReminderText = [USER_DEFAULT objectForKey:GuWenNumberLimitReminder];
    // 初始化
    GuWenNumberLimitView *guWenNumberLimitView = [[GuWenNumberLimitView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 0)];
    guWenNumberLimitView.contentLabel.text = limitReminderText;

    // 设置frame 外部依托所在的地方
    guWenNumberLimitView.frame = CGRectMake(0, 0, WIDTH, [guWenNumberLimitView viewHeight]);
    [view addSubview:guWenNumberLimitView];

    return guWenNumberLimitView;
}

- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        NSString *className = NSStringFromClass([self class]);
        self = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] lastObject];
    }
    return self;
}

#pragma mark 初始化frame地方
- (void)drawRect:(CGRect)rect {

    self.frame = CGRectMake(0, 0, WIDTH, [self viewHeight]);//关键点在这里
}

#pragma mark label计算出的高度
- (float)viewHeight {

    NSString *limitReminderText = [USER_DEFAULT objectForKey:GuWenNumberLimitReminder];

    float viewHeight = 0;

    if (limitReminderText.length) {
        CGRect rect = [limitReminderText boundingRectWithSize:CGSizeMake(WIDTH-26, 1000)
                                                      options:NSStringDrawingUsesLineFragmentOrigin
                                                   attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:12]}
                                                      context:nil];
        viewHeight = rect.size.height+18;
    } else {
        viewHeight = 0;
    }
    return viewHeight;
}
HMC7044芯片模拟SPI配置 摘要: HMC7044是一款高性能双环路整数N分频抖动衰减器,支持SPI接口配置,适用于高速数据转换器时钟系统。该芯片采用双PLL级联架构,具有14路可配置输出,可满足GSM/LTE基站设计需求。SPI接口采用3线模式(SLEN/SCLK/SDATA),支持24位寄存器读写(13位地址+8位数据)。驱动实现基于Zynq EMIO模拟SPI,提供初始化、数据传输及寄存器配置功能,支持三线制工作模式和多种时钟参数设置。 阅读详情

相关推荐

Mind+掌控板实战:5分钟搞定Easy IoT的MQTT通讯(附完整代码)

本文详细介绍了如何利用掌控板和Mind+图形化编程软件,快速实现基于Easy IoT平台的MQTT通讯。通过清晰的步骤讲解和完整的代码示例,指导用户完成从云端配置、Wi-Fi连接到MQTT消息发布与订阅的全过程,帮助初学者轻松构建物联网设备间的双向对话系统。

weixin_29300241的博客 445

ios tableView复用UITableViewHeaderFooterView

1、创建一个类继承于UITableViewHeaderFooterView,命名为HeadView 2、创建HeadView.xib,吧HeadView.xib的class设置为HeadView。 3、具体代码 HeadView.m#import "ViewController.h" #import "HeadView.h"@interface ViewController ()<UITabl

hyczwl的专栏 9786

Petalinux实战:3种方法调试AXI UART Lite设备(含minicom/screen/直接寄存器操作对比)

本文详细介绍了在Zynq平台上使用Petalinux调试AXI UART Lite设备的三种实用方法:用户空间工具(minicom/screen)、应用层程序(termios配置)和底层寄存器直接操作。文章对比了各方法的优缺点与适用场景,并重点解析了设备树配置、驱动加载等关键环节,帮助开发者快速定位并解决串口通信中的常见问题。

weixin_29190169的博客 432

以代码的形式添加xib,并对xib进行操作

+ (AZHeaderHomepageView *)instanceHeaderView { AZHeaderHomepageView *headerView = [[NSBundle mainBundle] loadNibNamed:@"AZHeaderHomepageView" owner:self options:nil].lastObject; return headerV

u014358913的博客 1282

光谱分布、光谱辐射通量密度与不同时间段分布光谱(图示)

1、光谱分布图 2 太阳辐射能量图 3、不同时间段的太阳分布光谱图 4、不同波长的光的能量分布主要区域 5、不同波段的使用场景

maopig的专栏 2万+

提取abaqus中节点集合的应力应变

节点是没有应力应变的,只有积分点才有,所以直接在odb文件里面用FieldOutput是整不出来的(结果是个空列表),只能用session这种让abaqus自己帮你处理。具体的代码需要根据自己操作的时候abaqus.rpy这个文件中代码的变化来更改。

蓝胖子的博客 4553

自定义一个UITableViewHeaderFooterView、UITableViewCell需要注意的一些方法。

(id) initWithXXX:初始化这个View,UITableViewHeaderFooterView的时候并没有在其中设置frame和bounds;PS:注意重写我们通常在其中添加需要的UIVIew。需要在layoutSubViews中设置。 (void) setModel:设置数据模型,在设置数据模型的时候同事设置UI子控件的frame。 (void) layoutSubVie

搬砖路上的琐碎记录 1857

SAP PS模块实战指南:从项目启动到结算的全流程解析

本文详细解析SAP PS模块在项目管理中的全流程应用,从项目启动到结算的关键操作与实战技巧。通过WBS设计、预算控制和资源调配等核心功能,帮助管理者高效协调项目进度与成本,特别适用于交付型和成本型项目管理。掌握PS模块能显著提升项目管理效率与精准度。

weixin_42553471的博客 448

tableView下沉

出现问题的界面如下,并附有大致介绍: 而我想做的界面应该是自定义的headerView和tableView是一起滑动的,而不是headerView在tableView滑动的时候始终在顶部位置,而且tableview恰好只有一个headerView,最终界面图如下面: 事先说明,我这里项目是纯代码编写,在网上也找了很多资料有关于利用xib,storyBoard出现的这种问题,借鉴了很多网...

weixin_30236595的博客 281

AMBA VIP基础使用方式(AXI)

AXI环境配置 1)基础配置 作为master或者slave使用时,对应的is_active = 1 只作为i监测(monitor)使用时,对应slave_cfg的is_active = 0(对应端口连接也有所区别) class smu_axi_cfg extends svt_axi_system_configuration; `uvm_object_utils(smu_aix_cfg) function new(string name="smu_axi_cfg); super.new(n..

qq_37573794的博客 7984

在轻量化与精度之间取得平衡:YOLOv8 + GhostNet 的设计与实验分析

摘要: GhostNet系列(GhostNet、GhostNetv2、GhostNeXt)通过“幽灵特征图”技术,以极低计算量生成丰富特征,为YOLOv8提供轻量化改造方案。该技术能在减少参数量与计算量的同时保持或提升检测精度,适用于边缘设备部署。实现时需替换YOLOv8的Backbone为GhostNet模块,并通过消融实验验证其有效性。实验数据表明,改造后的模型在参数量降低30%的同时,推理速度提升28.6%,mAP@0.5最高提升1.9个百分点,平衡了轻量化与精度,为毕设提供技术创新性与工程落地性的双

m0_64661770的博客 194

iOS开发之UITableView自定义Header视图和自定义Footer视图

//自定义Header视图 - (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{     if (section == 0) {         UIView *view = [[UIView alloc]init];           

坤宇的博客 4585

IO Virtualization with Virtio.part 2 [十三]

通过对virtio_device_id 中的 device 和 vendor 的值进行比较,我们找到对应的 virtio 驱动,由于这里我们使用 i2c virtio 为例,所以调用 virtio_i2c_probe 进行 virtio i2c 设备的初始化。在和 virtio mmio 设备交互时我们会读取 VIRTIO_MMIO_DEVICE_ID 和 VIRTIO_MMIO_VENDOR_ID,并将其值写入 virtio_device_id 中,这个就会用作后面和 virtio 设备驱动的匹配参数。

cxjczy1990的博客 1211

swift 使用xib创建view

参考链接:swift用xib 自定义View 1&gt; 创建一个view以及同名的xib 2&gt; 在view中添加下边相关代码,完成与xib的链接 // 初始化方法 static func newInstance() -&gt; NetStateView?{ let nibView = Bundle.main.loadNibNamed("NetState...

公会驻地 1602

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IOS学习之——xib的创建 自定义View

IOS学习之——xib的创建 自定义View

TenMios的博客 446

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

用xib创建一个UIView(xib自定义view,修改不了frame的问题)

1.创建一个CustomerView的文件,commend+n,如图: 2.用xib创建一个view,命名为CustomerView,commend+n,如图: 3.修改xib中如下数据, 3.1 首先修改File’s Owner中的Class为:CustomerView,如图: 3.2 在修改xib 的 Simulated Metrics 的参数值,如图: 4....

守候可爱多的博客 5312

iOS创建xib关联view之后创建view

创建一个继承view的HeaderView,再创建一个xib并关联上HeaderView,在HeaderView中这样写,创建HeaderView的时候,直接alloc initWithFrame,frame将会赋值给xib,就是frame的坐标大小会改变xib的大小位置 #import @interface HeaderView : UIView

m751824643的博客 760

通过xib创建View

1 创建一个xib并使之与一个自定义的View相关联 2 在自定义的View中参考如下代码: - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code. //MyV...

weixin_30873847的博客 105

iOS开发,TableViewCell上添加Xib创建的View会出现页面混乱

有时候我们需要在TableviewCell上加一些控件,比如说Button,View之类的,我们创建好之后直接在Cell上addSubviews就可以了,如果我们的View是用Xib创建的,通过 [[NSBundle mainBundle]loadNibNamed:@"YXHeaderView" owner:self options:nil][0];之后,在Cell上addSubvie

673

使用xib创建view,如何调整大小

当需要自定义view时,如果直接是newfile生成的xib,这个时候生成的尺寸是不支持调整的,在xcode6里面需要把Auto Layout 和Size Classes 都关闭 view frame 大小调整" title="xib view frame 大小调整" style="margin:0px; padding:0px; border:0px; list-style:none">

CSND_GO 6504

IOS中可以一个多个xib文件对应一个类。当然也可以在一个Xib中创建多个view然后也是用一个类控制

零下7度的浪漫 1545

如何调整大小使用xib创建的view

小笔记: 当需要自定义view时,如果直接是newfile生成的xib,这个时候生成的尺寸是不支持调整的, 将设置size为Freeform即可。

阳光男孩阚少的博客 746

xib创建自定义view

转载请注明出处!!! 1.oc版 + (instancetype)viewFromXib { NSBundle* bundle = [NSBundle mainBundle]; NSString* className = NSStringFromClass([self class]); return [[bundle loadNibNamed:cla...

131

IOS使用Xib创建自定义View

新建object-c类,从UIView继承,如新建FlagView #import @class FlagBean; @interface FlagView : UIView @property(nonatomic,weak)FlagBean *flag; +(instancetype)flagView; @end FlagView.m文件 #import "Fl

wangjia55的专栏 1万+

51-ViewController的view的创建,使用init或initWithNibName方法加载xib的底层实现(图解)

blaze747 497

iOS用 xib创建View,解决xib上的控件,不显示的问题;

1.创建视图类,集成UIView 如:AttributeThreeView #import  @interface AttributeThreeView : UIView @property(nonatomic, assign)CGFloat scrollviewMaxy; @property (weak, nonatomic) IBOutlet UIImageView

今天明天 8273

xib 创建自定义view,作为tableview的headView出现的问题

问题描述: 我用xib自定义了一个视图,作为tableview的headView, 不是sectionheadView(这个也存在);     设置的时候出问题了代码如下:  FindHeadView *view = [FindHeadView customInit]; view.frame = CGRectMake(0, 0, SCREEN_WIDTH, 150); head

xfy6238的博客 753
上一篇: WKWebView点击_blank链接不跳转
下一篇: swift中VC页面跳转的动画效果-push和pop时的动画效果
瓦怕落地
博客等级 码龄11年 16粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值