UI09_协议控制

来源:互联网 发布:电脑量角器软件 编辑:程序博客网 时间:2024/05/21 10:21
签订协议,点击button,来实现改变背景颜色.创建MyButton类,继承于NSObjectMyButton.h#import <UIKit/UIKit.h>1.声明协议@protocol MyButtonDelegate <NSObject>- (void)changeColor;@end@interface MyButton : UIView2.声明代理人属性@property(nonatomic, assign)id<MyButtonDelegate>delegate;@endMyButton.m#import "MyButton.h"@implementation MyButton3.通过touch方法,来设置代理人执行的方法.- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {    [self.delegate changeColor];}RootViewController.m#import "RootViewController.h"#import "MyButton.h"4.签协议.@interface RootViewController ()<MyButtonDelegate>@end@implementation RootViewController- (void)viewDidLoad {    // 创建一个myButton对象.    MyButton *button = [[MyButton alloc] initWithFrame:CGRectMake(100, 100, 150, 50)];    button.backgroundColor = [UIColor greenColor];    [self.view addSubview:button];    [button release];5.设置代理人.    button.delegate = self;}6.实现协议方法.- (void)changeColor {    // 设置随机的背景颜色.    self.view.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 /255.0 alpha:1];}
0 0