1

我有一个弹出视图,它被称为:

Info *infoview = [[Info alloc]init];
pop = [[UIPopoverController alloc]initWithContentViewController:infoview];
[pop setDelegate:self];
[pop presentPopoverFromRect:CGRectMake(-60, 30, 400, 400) inView:bigMenuView permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
[infoview release];

在这个 popoverview 中(见代码)一个 info.xib 有一些 UIBUttons。

现在我想改变一些东西。单击按钮后,在我的“主视图”中。

注意:我可以在“First Responder”中访问我的 IBAction 方法,但没有任何操作。

4

1 回答 1

0

为了做你想做的Info事,在按钮上声明一个属性,比如:

@property(retain) IBOutlet UIButton *myButton;

现在综合它,在实现部分。为了让按钮向正确的目标发送正确的操作,您应该这样做:

Info *infoview = [[Info alloc]init];
// set the action/target here
[infoView.myButton addTarget:bigMenuView
                      action:@selector(theSELYouWant)
            forControlEvents:UIControlEventTouchUpInside];
pop = [[UIPopoverController alloc] initWithContentViewController:infoview];
[pop setDelegate:self];
[pop presentPopoverFromRect:CGRectMake(-60, 30, 400, 400)
                     inView:bigMenuView
   permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
[infoview release];

我认为主要观点是bigMenuView.
这将使按钮在每次被触摸时都会发送一条theSELYouWant消息。bigMenuView

于 2011-07-17T11:56:07.690 回答