@property (strong, nonatomic) IBOutlet UIButton *btn;
此时,其左侧行号区出现空心圆圈 。然后保存文件,切换回nib视图,此时在File's Owner上鼠标右键出现一个窗口,如图:
你会发现刚才定义的实例变量出现在了上图红框位置,然后使用鼠标拖动对应变量右侧的空心圆到对应的控件上,松开鼠标,此时注意复层中已经出现了关联关系,至此关联成功 。再返回头文件查看,发现此时变量左侧的空心圆也变成实心的了 。
4.2 给控件添加事件
上一节已经讲过如果将控件与代码关联,关联好后我们就可以给控件绑定相应的事件,让之拥有最终与用户发生交互的能力 。那么如何让一个控件拥有自己的事件呢?且继续往下看 。
给控件绑定事件有多种方法,第一种,使用纯代码实现:
[self.btn addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchUpInside];
然后我们实现一下方法:
- (void) doSomething {UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test"message:@"This is an Alert Information"delegate:selfcancelButtonTitle:@"Cancel"otherButtonTitles: nil];[alert show];}
这样设置之后,当用户在按钮内部点击并松开手指时,就会触发事件,调用方法 。结果如图:
第二种,这种方法与创建代码与控件关联相类似 。首先打开,打开头文件和nib文件,按住键拖动空控件到控制器类的中间,如图:
注意红框部分与创建关联时有所不同,还要注意填写Name时,如果时较早版本的Xcode,需要在名称后面添加: 。点击按钮,会自动生成这样一句代码:
- (IBAction)doSomething:(id)sender;
好了,事件又一次绑定成功了! + R运行应用,查看效果 。
4.3 补充获取控件的另一种方法()
在nib文件的属性设置中有一个地可以直接设置其tag值,如图:
这个值理论上来说在一个视图中应该唯一,也可以通过代码设置这个值:
[self.btn setTag: 1000];
设置了这个值之后,便可以通过以下方法,取得nib中的控件:
UIButton *button = (UIButton *)[self.view viewWithTag:100];
- 揭秘史上最幽默的宰相是谁?宋代宰相石中立
- 2022年苹果WWDC定于6月开办,全家桶软件系统均计划升级
- 北魏崔浩瞧不起诸葛亮称其在战略上常出下策
- 图形编辑器:工具管理和切换
- 【tcp】TCP 半连接队列、全连接队列基本概念
- 燕太子丹最后是怎么死的如何评价太子丹其人
- 《荀子》历史地位上的争议:该如何评价孟子荀子
- 清朝官员等级是怎样的?清朝官员品级详解
- 【人工智能笔记】第五节:基于TensorFlow 2
- 分享两个实用的PPT素材库