UIButton在子视图中,触发当前ViewController中的动作

时间:2010-12-03 10:27:06

标签: iphone uibutton target self

我有问题。我有一个普通的viewcontroller,我在一个scrollview中添加UITextViews。对于这些UITextviews,我添加了一个动态数量的UIButtons,我想要添加一个目标。我将它们添加到UITextViews的原因是将它们添加到视图控制器中添加文本视图的原点将使它们最终在屏幕外部而不是滚动,当然。但是当我这样做时,按钮会触发动作。

我的问题是:如何将viewcontroller指定为目标?使用self或使用appdelegate中创建的var作为目标不会触发它。如果“文本视图中的两个超级级别”将起作用,我将使用它,只是不知道如何正确指定它。

我的代码:

   UIImage *img=[UIImage imageNamed:@"phonebutton40x30.png"];
   UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
   [btn addTarget:self action:@selector(phoneemail:) forControlEvents:UIControlEventTouchUpInside];
   [btn setImage:img forState:UIControlStateNormal];
   btn.tag=700+i;
   btn.frame=CGRectMake(xoffs+3, yoffs+19, 50, 38);
   [tvMain addSubview:btn];

2 个答案:

答案 0 :(得分:2)

只需从代码中删除冒号

[btn addTarget:self action:@selector(phoneemail:) forControlEvents:UIControlEventTouchUpInside];

更正后的是 [btn addTarget:self action:@selector(phoneemail) forControlEvents:UIControlEventTouchUpInside];

如果我猜,这可能对你有帮助。

答案 1 :(得分:2)

然后通过将按钮添加到scrollview而不是textview来解决它。