2010-08-30 53 views
0

我在名爲SliderCell的自定義UITableViewCell中有一個UISlider。iPhone - 將觸摸事件鏈接到不同的類/控制器

我在SliderCell中有一個方法,它更新UILabel以匹配滑塊的值。

- (IBAction)sliderChanged:(id)sender; 

我在viewController中使用SliderCell的表中有相同的方法。基於滑塊的值,我想重新加載一個NSDictionary。

當我將UISlider鏈接到SliderCell的方法時,它可以工作。 當我將UISlider鏈接到viewController的方法時,它會在應用程序開始時甚至不顯示NSLOG而崩潰應用程序。

我通過簡單地將我的viewController類拖到我的SlideCell筆尖,將UISlider鏈接到viewController。該應用程序是否嘗試啓動另一個viewController實例?

如何正確鏈接它?

回答

0

正確的方法是忘記界面生成器,只是以編程方式做所有事情!

SEL action = @selector(someAction:); 
[myUISlider addTarget:self action:action forControlEvents:UIControlEventValueChanged]; 
0

您是否將UISlider連接到viewController中的IBAction方法?這就是所有你真的應該需要做

+0

當我說「鏈接」我的意思是連接。連接到兩者後,我用我的鼠標觸摸滑塊,應用程序崩潰。 – ssj 2010-08-30 02:37:41

+0

從控制檯發佈輸出。如果通過鏈接意味着連接IBOutlets,則一個未連接的插座不應導致崩潰,所以其他事情正在發生。發佈代碼和控制檯輸出。 – Jordan 2010-08-30 02:43:14

+0

我不是在談論IBOutlets。我將UISlider連接到兩個不同類的2個IBActions。它在控制檯中沒有任何輸出時崩潰。 我找到了一種解決方法,將SliderCell放入它自己的筆尖中,然後將其放入ViewController的筆尖並停止崩潰。 – ssj 2010-08-30 06:13:05

1

我想你需要你的聲明更改爲:

-(IBAction) yourSliderValueChanged: (UISlider *) sender 

然後掛鉤的動作滑塊。