如何在UISlider上添加观察者

时间:2010-08-23 08:04:55

标签: iphone cocoa-touch uikit

任何想法如何将我的控制器类添加为我的View类'滑块的观察者?

我试图通过Observer方式实现这一点:在我的控制器的viewDidLoad方法中我正在调用

[self addObserver:myView forKeyPath:@"myView.mySlider.value" options:NSKeyValueObservingOptionNew context:NULL];

并在我正在实施的同一个控制器文件中:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 
    if ([keyPath isEqualToString:@"myView.mySlider.value"]) {
        myView.myImgView.animationDuration = [[change valueForKey:NSKeyValueObservingOptionNew] intValue]; 
    } 
} 

但是我的应用程序崩溃了。请帮忙

2 个答案:

答案 0 :(得分:1)

我遇到了问题。我错误地设置了观察者。而不是在self上调用addObserver方法,我应该在我需要观察的对象上调用它。

答案 1 :(得分:0)

将滑块连接到IBAction,就像使用按钮一样。只要滑块更改其值,就会调用该操作。 如果您需要在另一类更改的滑块值中收到通知,请在NSNotification中发送IBAction并在其他类中注册该通知。