Objective c 以编程方式附加事件处理程序
因此,我试图通过编程方式将事件处理程序附加到我在iphone应用程序上放置的小部件上,使用: addTarget:action:forControlEvents sliderEventIB,只是告诉我们它感觉到了事件: -(IBAction)sliderEventIB:(id)sender forEvent:(UIEvent*)event { puts( "I feel you joanna" ) ; } -(iAction)SliderEventB:(id)发送方forEvent:(UIEvent*)事件 { 放(“我感觉到你了,乔安娜”); } 但我得到的错误是 ViewControllersTest[6744:207] *** -[UISegmentedControl sliderEventIB]: unrecognized selector sent to instance 0x3b21b30 ViewControllersTest[6744:207]***-[UISegmentedControl SliderEventB]: 已将无法识别的选择器发送到实例0x3b21b30Objective c 以编程方式附加事件处理程序,objective-c,iphone,Objective C,Iphone,因此,我试图通过编程方式将事件处理程序附加到我在iphone应用程序上放置的小部件上,使用: addTarget:action:forControlEvents sliderEventIB,只是告诉我们它感觉到了事件: -(IBAction)sliderEventIB:(id)sender forEvent:(UIEvent*)event { puts( "I feel you joanna" ) ; } -(iAction)SliderEventB:(id)发送方forEvent:(UIE
你知道它在这里不喜欢什么吗?嗯,UISegmentedControl没有“sliderEventIB”方法 该方法的“addTarget”部分询问:“一旦发生事件,我应该通知谁?”。在本例中,您指定应通知UISegmentedControl,并且它应在该对象上调用sliderEventIB。相反,你应该说
[seg addTarget:self action:@selector(sliderentib)for controlEvents:uicontrolEventalEvents]
嗯,UISegmentedControl没有“sliderentib”方法
该方法的“addTarget”部分询问:“一旦发生事件,我应该通知谁?”。在本例中,您指定应通知UISegmentedControl,并且它应在该对象上调用sliderEventIB。相反,你应该说
[seg addTarget:self action:@selector(sliderEventIB)for controlEvents:UIControlEventAllEvents]
您似乎忘记了在addTarget中插入冒号:
[seg addTarget:seg action:@selector(SliderEventB:)for ControlEvents:UIControlEventAllEvents];
它应该是sliderentib:而不是sliderentib。您似乎忘记了在addTarget中插入冒号:
[seg addTarget:seg action:@selector(SliderEventB:)for ControlEvents:UIControlEventAllEvents];
它应该是sliderEventIB:而不是sliderEventIB。正确的代码如下:
- (void)loadView
{
[super loadView];
[seg addTarget:self action:@selector(sliderEventIB:forEvent:) forControlEvents:UIControlEventAllEvents];
}
- (IBAction)sliderEventIB:(id)sender forEvent:(UIEvent*)event
{
NSLog(@"I feel you joanna");
}
请注意,该方法具有与使用
addTarget:action:forControlEvents
注册的选择器相同的选择器。正确的代码如下:
- (void)loadView
{
[super loadView];
[seg addTarget:self action:@selector(sliderEventIB:forEvent:) forControlEvents:UIControlEventAllEvents];
}
- (IBAction)sliderEventIB:(id)sender forEvent:(UIEvent*)event
{
NSLog(@"I feel you joanna");
}
请注意,该方法具有与使用addTarget:action:forControlEvents
注册的选择器相同的选择器