用xib建立一个自定义view,在view上添加并排按钮

本文介绍如何使用IBOutletCollection在iOS开发中将多个相同类型的UI控件绑定到一个数组属性中,实现更高效的代码管理和界面操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绑定过程

  1. 先来新建一个自定义的View,继承自UIView(必须的了)

    Paste_Image.png
  2. 新建一个xib文件 在这里,为了更好地识别,我们把这个xib的名字命名成我们之前新建的那个view子类。

    Paste_Image.png
  3. 更改xib的File's Owner class,指向我们创建好的class

作者:Z_桃芮丝 链接:http://www.jianshu.com/p/5ed0cd60c8a8 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

//关于 IBOutletCollection 的使用

在IB与相关文件做连接时,我们经常会用到两个关键字:IBOutlet和IBAction。经常用xib或storyboard的童鞋应该用这两上关键字非常熟悉了。不过UIKit还提供了另一个伪关键字IBOutletCollection,我们使用这个关键字,可以将界面上一组相同的控件连接到同一个数组中。

我们先来看看这个伪关键字的定义,可以从UIKit.framework的头文件UINibDeclarations.h找到如下定义:

#ifndef IBOutletCollection
#define IBOutletCollection(ClassName)
#endif
  • 1
  • 2
  • 3

从上面的定义可以看到,与IBOutlet不同的是,IBOutletCollection带有一个参数,该参数是一个类名。

通常情况下,我们使用一个IBOutletCollection属性时,属性必须是strong的,且类型是NSArray,如下所示:

@property (strong, nonatomic) IBOutletCollection(UIScrollView) NSArray *scrollViews;
  • 1

那么,应该如何创建IBOutletCollection呢?首先确保是一组相同的控件,以UIButton为例,首先将界面上的一个UIButton拖到代码文件中,不过选择的是outlet collection,如图:

接下来把其他的UIButton拖到该UIButton的代码区即可。


注意:一定要先把button拖到数组中,然后再命名,顺序不对会崩掉



---- viewcontroller.m 中代码 ----

#import "ViewController.h"

#import "ViewButton.h"

@interface ViewController ()

@property (nonatomic,strong) ViewButton *buttonXJP;

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

}

- (ViewButton *)buttonXJP

{

    if (!_buttonXJP)

    {

        _buttonXJP = [ViewButton loadFromNib];

    }

    return _buttonXJP;

}

- (IBAction)btnClick:(id)sender

{

    NSLog(@"fdsafdsafsafdasf");

    [self.buttonXJP show];

    

}

//

// 下载自定义view







                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值