首页 > 其他分享 >ios开发之 -- xib关联自定义view

ios开发之 -- xib关联自定义view

时间:2023-08-25 14:02:35浏览次数:43  
标签:控件 xib 自定义 -- self hView view

在xib下使用自定义的view,因为很多时候,可能幸亏自顶一个view,然后在view里面填充控件,但是需要重写很多无用的

代码,而且很容易出错不说,还很好工作量,使用xib的话,分钟搞定一个view,话不多说,步骤如下:

1,先创建一个view

ios开发之 -- xib关联自定义view_连线

2,创建一个xib

ios开发之 -- xib关联自定义view_连线_02

3,"File's Owner" 的class 继承为:MyView(即自定义创建的视图类)

 

ios开发之 -- xib关联自定义view_控件_03

4,然后选择,如下图:在第四步的时候class 继承为:MyView,

ios开发之 -- xib关联自定义view_控件_04

5,然后,就可以在xib上愉快的拖控件了,拖到.h文件里面即可:

ios开发之 -- xib关联自定义view_自定义_05

 

 6,注意这个时候,必须在"File's Owner"里面,将邮编属性聊表连线点掉,这里不能存在这样的连线,

ios开发之 -- xib关联自定义view_自定义_06

7,如下图,在view里面把连线连上,即可

ios开发之 -- xib关联自定义view_控件_07

8,然后在控制器里面加载,代码如下:

NSArray *nibView =  [[NSBundle mainBundle] loadNibNamed:@"xib的名字"owner:self options:nil];
UIView *backView = [nibView objectAtIndex:0];
backView.frame = frame;
[self addSubview:backView];

最后,在控制器里面写上你所要的操作就可以了,调用的时候,用本地实例化的MyView直接调用控件,即可!

示例代码:

//添加推流端触发按钮
    [_hView.actionBtn setTitle:@"推流端/播放端" forState:UIControlStateNormal];
    [_hView.actionBtn setTitle:@"暂停播放" forState:UIControlStateSelected];
    
    [_hView.actionBtn addTarget:self action:@selector(actionButton:) forControlEvents:UIControlEventTouchUpInside];
    
    //添加播放端触发按钮
    [_hView.playBtn addTarget:self action:@selector(playClick:) forControlEvents:UIControlEventTouchUpInside];

 


作者:稻草人11223

标签:控件,xib,自定义,--,self,hView,view
From: https://blog.51cto.com/u_13188203/7230160

相关文章

  • ios开发之 -- UIView总结
    如果想调用某个类的某个方法可以写成这样,这个方法来自NSObject类performSelector:performSelector:withObject:performSelector:withObject:withObject: 实际调用[selfperformSelector:@selector(displayViews)withObject:nilafterDelay:1.0f];有三个方法分别是//父视图......
  • ios 开发之 -- UILabel的text竖行显示
    让UILabel的内容竖行显示,我经常用一下两种方式:第一种:使用换行符\nlabel.text=@"请\n竖\n直\n方\n向\n排\n列";label.numberOfLines=[label.textlength];第二种:使用lineBreakMode属性label.text=@"请竖行显示";label.lineBreakMode=NSLineBreakByWordWrapping;//换行模......
  • iOS开发之--搭建本地的SVN服务器
    近期入职的新公司,后台没有分配svn账号,需要在本地搭建一个服务器,方便和代码,看了看网上的教程,一直有这样那样的问题,其中最主要的问题还是路径拼接的问题,最后终于解决了,特在此分享下,如果大家有更快捷的方法可以交流下:步骤如下:1,首先在任意地方建立一个文件夹,如在桌面上建立一个名字为sv......
  • ios开发之 -- 单例类
    单例模式是一种软件设计模式,再它的核心结构中指包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个势力而且该势力易于外界访问,从而方便对势力个数的控制并节约系统资源。如果希望在系统中某各类的对象只能存在一个,单例模式是最好的解决方案。单例模式目前用......
  • ios开发之 -- invalid nib registered for identifier
    今天在写代码的时候,碰到这麽一个问题:invalidnibregisteredforidentifier(重用符)-nibmustcontainexactlyonetoplevelobjectwhichmustbeaUITableViewCellinstance'我一直以为是注册那边出了问题,改了2遍,还是没好,后来百度了下,原因如下:通过xib创建cell的时候一定......
  • Robot 框架学习笔记
    Robot框架学习笔记为了更好地让读者理解快速学习新框架的思路,笔者接下来会继续介绍另一个名为Robot的自动化测试框架,希望读者能参考笔者从零开始讲解一个开发/测试框架的流程,从中总结出适合于自己的快速学习方法。与Selenium框架相比,Robot框架是一款更为通用的、可扩展的......
  • swift - 之TabBarController的用法
    TabBarController的使用,下面记录两种写法,代码如下:TabBarItem系统自带图标样式(System)介绍:Custom:自定义方式,配合SelectedImage来自定义图标More:三个点的图标,表示更多意思Favorites:星形图标Featured:星形图标TopTated:星形图标Recents:时钟图标Contacts:一个圆形一个人头像的图标,代表联......
  • DNSLOG平台搭建及其原理分析
    一、DNS基本概念0x1:DNS中不同域名类型概念DNS的全称是DomainNameSystem(网络名称系统),它作为将域名和IP地址相互映射,使人更方便地访问互联网。当用户输入某一网址如littlehann.com,网络上的DNSServer会将该域名解析,并找到对应的真实IP如101.37.97.51,使用户可以访问这台服务器上......
  • git使用
    第一步:下载Git首先,需要从官方网站https://git-scm.com/downloads下载Git的安装包。网站会根据你使用的操作系统自动推荐对应的版本。第二步:安装Git安装包下载完成后,双击打开,按照指导操作即可完成安装过程。对于Windows平台,可能需要在安装过程中选择一些组件,如图形界面和命令行......
  • Java反射是什么?
    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造......