2010-12-03 51 views
2

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

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

我的代码:

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]; 
+0

你能说清楚你在问什么吗?当你将按钮添加到`[self.view addSubview:btn]`时,它会如预期那样工作,但当你将它添加到`tvMain`时,它不会工作吗?也就是说,如果你只是将`[tvMain addSubview:btn]``行更改为`[self.view addSubview:btn]``,它会起作用吗? – 2010-12-03 13:31:20

回答

2

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

2

刚刚从你的代码

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

删除冒号纠正一个是 [btn addTarget:self action:@selector(phoneemail) forControlEvents:UIControlEventTouchUpInside];

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

+0

不,结肠是有方法的,去功能了。 (方法可能不需要冒号。)正如我所说的,当我将其作为导航到视图控制器的子视图时,它使用完全相同的代码,而不是UITextView。 – 2010-12-08 22:35:53

相关问题