自定义代表

我想知道如何使用自定义委托?

也许一个例子可以帮助你:

#import  @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 delegate; NSArray *keypadButtons; } + (VSKeypadView *)keypadViewWithFrame:(CGRect)r; - (id)initWithFrame:(CGRect)r ; -(void)fireKeypadButton:(id)sender; @property(nonatomic, assign) id delegate; @end 

这是我写的键盘。
VSKeyPadView派生自UIView并且具有类型为id的委托ivar,这意味着,设置为delegate的对象应该符合协议VSKeypadViewDelegate 。 该协议有一些必要的和一些可选的方法。 这意味着,你有责任编写这些方法 – 这对你来说是有意义的。

您将在github上的示例应用程序中找到此代码。