iPhone - 将触摸事件链接到不同的类/控制器

发布于 2024-09-17 08:09:26 字数 498 浏览 5 评论 0原文

我在名为 SliderCell 的自定义 UITableViewCell 中有一个 UISlider。

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

- (IBAction)sliderChanged:(id)sender;

我在 viewController 中有相同的方法,在它的表中使用 SliderCell 。根据滑块的值,我想重新加载 NSDictionary。

当我将 UISlider 链接到 SliderCell 的方法时,它起作用了。 当我将 UISlider 链接到 viewController 的方法时,它会导致应用程序崩溃,甚至不会在方法开头显示 NSLOG。

我只需将 viewController 类拖到 SlideCell 笔尖中即可将 UISlider 链接到 viewController。应用程序是否尝试初始化另一个 viewController 实例?

我如何正确链接它?

I have a UISlider inside a custom UITableViewCell named SliderCell.

I have a method in SliderCell which updates a UILabel to match the slider's value.

- (IBAction)sliderChanged:(id)sender;

I have the same method in a viewController that uses SliderCell in it's table. Base on the value of the slider, I want to reload an NSDictionary.

When I link the UISlider to SliderCell's method, it works.
When I link the UISlider to viewController's method, it crashes the app without even displaying an NSLOG at the beginning of the method.

I linked the UISlider to the viewController by simply dragging my viewController class into my SlideCell nib. Does the app try to init another viewController instance?

How do I link it properly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不知在何时 2024-09-24 08:09:26

我认为您需要将声明更改为:

-(IBAction) yourSliderValueChanged: (UISlider *) sender

然后将操作连接到滑块。

I think you need to change your declaration to:

-(IBAction) yourSliderValueChanged: (UISlider *) sender

then hook up the action to the slider.

绮筵 2024-09-24 08:09:26

您是否将 UISlider 连接到 viewController 中的 IBAction 方法?这就是你真正需要做的

Are you connecting the UISlider to the IBAction method in the viewController? Thats all you really should need to do

一片旧的回忆 2024-09-24 08:09:26

正确的方法是忘记界面生成器并以编程方式完成所有操作!

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

The correct way is to forget the interface builder and just do everything programmatically!!

SEL action = @selector(someAction:);
[myUISlider addTarget:self action:action forControlEvents:UIControlEventValueChanged];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文