views:

211

answers:

1

Hi all!

I learn Cocoa Touch several days, and today have stuck while looking for way to implement a custom event. Event that I can see in Connection Inspector for my UIView subclass.
What I have:
There are a UILabel and MyView:UIView on MainVindow. MyView contains a UISlider. Interfaces for Controller and MyView

// Controller.h 
@interface Controller : NSObject {
   IBOutlet UILabel *label;
   IBOutlet MyView *myView;
}
// I suppose that there should be something like -(IBAction) changeLabelValue for myView event
@end

// MyView.h
@interface MyView : UIView {
    IBOutlet UISlider *slider;
    float value;
}
- (IBAction) changeValue; //for slider "Changed Value" event

What I want:
Add something in MyView that allows it to rise a event after change value.
Can anybody help me? My main area in programming is .NET and I begin think that its terminology is not appropriate for this case.

Thanks.

+1  A: 

I don’t know if I'm understanding you correctly but I think what you want is responding to user events from interface components. In Cocoa the term "event" is only used for objects that describe the actual event, like a touch down or key up.

To respond to higher level events, like dragging a slider or pushing a button, Cocoa uses the target action paradigm. You set up a UI component (a UIControl derived view class) to send a given message to a given target whenever the component detects a change of its state.

To set the target and the action method you can use Interface Builder or the UIControl method addTarget:action:forControlEvents:.

Nikolai Ruhe