您的位置:首页 > 产品设计 > UI/UE

UI04_delegate

2015-09-21 18:59 429 查看
AppDelegate.h

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@end


AppDelegate.m

#import "AppDelegate.h"
#import "RootViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate
- (void)dealloc
{
[_window release];
[super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
[_window release];

RootViewController *rootVC = [[RootViewController alloc] init];
self.window.rootViewController = rootVC;
[rootVC release];

return YES;
}


RootViewController.h

#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController

@end


RootViewController.m

#import "RootViewController.h"
#import "MyButton.h"
//  4. 签协议
@interface RootViewController ()<MyButtonDelegate>

@end

@implementation RootViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

self.view.backgroundColor = [UIColor whiteColor];

//    //  创建一个mybutton对象
//    MyButton *button = [[MyButton alloc] initWithFrame:CGRectMake(100, 100, 150, 50)];
//    button.backgroundColor = [UIColor yellowColor];
//    [self.view addSubview:button];
//    [button release];
//    //  5. 设置代理人
//    button.delegate = self;
//
//    //  <>里面放两个#号, 可用tap选择

UIImage *image = [UIImage imageNamed:@"1.jpg"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
//  给imageView设置图片
imageView.image = image;
[self.view addSubview:imageView];
[imageView release];

//    imageView.layer.cornerRadius = 100;
//    imageView.layer.borderWidth = 1;
//    imageView.layer.masksToBounds = YES;

//  毛玻璃效果
UIBlurEffect *effect = [UIBlurEffect effectWithStyle: UIBlurEffectStyleLight];
//  iOS8.0之后出现的新效果, 用来显示模糊效果
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];
effectView.frame = CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height);
effectView.alpha = 0.8;
//  添加子视图
[imageView addSubview:effectView];
[effectView release];

}
//  6. 实现协议方法
- (void)changeColor {
self.view.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1];
}


MyButton.h

#import <UIKit/UIKit.h>

//  1. 声明协议
@protocol MyButtonDelegate <NSObject>

- (void)changeColor;

@end

@interface MyButton : UIView

//  声明代理人的属性
@property(nonatomic, assign)id<MyButtonDelegate>delegate;

@end


MyButton.m

#import "MyButton.h"

@implementation MyButton

//  3. 通过touch方法, 来设置代理人执行的方法
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.delegate changeColor];
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: