我想向我的应用添加信息按钮以提供自定义帮助。iPhone SDK 2:以编程方式添加信息按钮
不是将按钮添加到笔尖并将事件(touchUpInside)链接到控制器,而是决定以编程方式添加按钮。按钮显示。当我添加触摸按钮时要执行的目标事件处理程序时,它不起作用。我的方法(doHelp)在触摸按钮时没有被调用。
当我调试它时,事件没有注册到按钮!虽然代码不会抛出任何异常。
这里是代码片段从视图:
// Create a Button to get Help
UIButton *helpButton = [UIButton buttonWithType:UIButtonTypeInfoDark ] ;
buttonRect = helpButton.frame;
// CALCulate the bottom right corner
buttonRect.origin.x = rect.size.width - buttonRect.size.width - 8;
buttonRect.origin.y = rect.size.height - buttonRect.size.height - 8;
[helpButton setFrame:buttonRect];
[helpButton addTarget:self action:@selector(doHelp:) forControlEvents:UIControlEventTouchUpInside];
[helpButton setEnabled:TRUE];
[self addSubview:helpButton];
........
// Another METHOD ELSEWHERE in the VIEW object
-(void)doHelp:(id)Sender
{
[self setHelpNeeded:TRUE];
[self setNeedsDisplay];
}
什么我做错了吗? 我已经看了SDK的帮助和样品,我真的很笨拙! 我希望另一双眼睛会帮助! :-)
这段代码片段在View对象中,以防您需要知道。 我刚添加了doHelp来帮助第2个响应者...谢谢。
**更新09年6月4日** - 我一直在尝试整夜,没有任何工作。我认为我设置方法选择器的方式有问题,因为我的方法永远不会被调用。其他一切都很好。即使使用NIB文件也不起作用。我已经标记了按钮,检索它并添加了方法选择器,但无济于事。有什么基本的,我做错了...啊! 任何想法,任何人?
由于没有工作到目前为止...我将恢复到基于NIB的方式。 基本上创建一个视图+控制器组合,并从那里去,这工作。 – 2009-06-04 03:49:10
说得太快......它没有工作。 :-(。这让我感到很开心! 我写了一个小应用程序来测试基础知识,它在其中起作用,所以这与我设置控制器的方式有关......我要去再次发布这个问题的附加信息,看看是否有人有任何想法如何做到这一点。 – 2009-06-05 18:43:47