2011-04-15 2 views
3

Je veux savoir comment puis-je utiliser un délégué personnalisé?Délégué personnalisé

+0

Cela peut vous être utile. http://stackoverflow.com/questions/3095642/custom-delegate-example-in-objective-c –

Répondre

2

Peut-être un exemple vous aidera à:

#import <UIKit/UIKit.h> 
@protocol VSKeypadViewDelegate 
@required 
-(int)numberOfRows; 
-(int)numberOfColumns; 

-(NSString*)titleForButtonOnRow:(int)row andColumn:(int)column; 
-(id)valueForButtonOnRow:(int)row andColumn:(int)column; 
-(CGSize)sizeForButtonOnRow:(int)row andColumn:(int)column; 
-(void)receivedValue:(id)value; 
-(CGPoint)keypadOrigin; 

@optional 
-(NSArray *)additionalButtonsForKeypad; 
//-(UIColor *)keypadBackgroundColor; 
//-(UIColor *)keyBackgroundColorForRow:(int)row andColumn:(int)Column; 
-(UIImage *)backgroundImageForState:(UIControlState)state forKeyAtRow:(int)row andColumn:(int)column; 
-(BOOL)isButtonEnabledAtRow:(int)row andColumn:(int)column; 

@end 


@interface VSKeypadView : UIView { 
    id<VSKeypadViewDelegate> delegate; 
    NSArray *keypadButtons; 
} 

+ (VSKeypadView *)keypadViewWithFrame:(CGRect)r; 

- (id)initWithFrame:(CGRect)r ; 
-(void)fireKeypadButton:(id)sender; 

@property(nonatomic, assign) id<VSKeypadViewDelegate> delegate; 

@end 

Ceci est un clavier que j'ai écrit.
Le VSKeyPadView dérive de UIView et a un délégué ivar de type id<VSKeypadViewDelegate>, ce qui signifie que l'objet défini sur delegate doit être conforme au protocole VSKeypadViewDelegate. Ce protocole a quelques requis et une méthode optionnelle. Cela signifie que c'est votre responsabilité d'écrire ces méthodes - ce qui a du sens pour vous.

Vous trouverez ce code dans un exemple d'application au github.

Questions connexes