我想在Objective-C中获取发件人的名字。例如,下面我有一个方法,它由Interface Builder中的UISlider实例调用,我想知道它的实例名称是什么,以便稍后我可以将条件块添加到UISlider实例的方法中。
e.g。
-(IBAction)sliderChanged:(UISlider *)sender {
//labAt1TimeRequired.text = [NSString stringWithFormat:@"%.1f", [sender value]];
NSLog(@"%@",sender);
Outputs:2010-10-15 22:46:02.257 EPC[3225:207] <UISlider: 0x495b140; frame = (205 3; 118 23); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x492e340>>
我希望能够说出
if(sender==myInstanceName) {
//do this
}
答案 0 :(得分:0)
您可以使用
.tag成员
读取滑块的写入和整数ID,如下所示:
-(IBAction)sliderChanged:(UISlider
*)sender {
switch (sender.tag) {
case 0:
//SLider 0
break;
case 1:
//SLider 1
break;
default:
break;
}
}
也可以为IB中的组件设置标签ID。
如果您在字符串上设置,则需要子类化UISlider。
答案 1 :(得分:0)
您可以使用UIView的tag属性来识别发件人。
-(IBAction)sliderChanged:(UISlider *)sender {
//labAt1TimeRequired.text = [NSString stringWithFormat:@"%.1f", [sender value]];
if (sender.tag == 1)
{
// do whatever
}
else
{
// do something else
}
}