UI04_delegate
2015-09-21 18:59
429 查看
AppDelegate.h
AppDelegate.m
RootViewController.h
RootViewController.m
MyButton.h
MyButton.m
#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
相关文章推荐
- UI04_Target-Action
- CALayer的常用属性(笔记与分享)
- UI_Touch
- mapreduce中的sequenceFile类,MapFile解析
- UINavigationController (导航控制器)
- UIWindow & UIWindowLevel笔记
- 励精图治---Concurrency---GUI设计
- UItableView一些小方法
- poj3581 Sequence(后缀数组sa的运用+离散化)
- ThreadPoolExecutor使用和思考-线程池大小设置与BlockingQueue的三种实现区别
- Opencv3.0+opencv_contrib_lib +VS2013(编译)+CMake-gui(最近的版本都可以)
- 判断 Fragment 的 UI 是否可见
- UML建模之时序图(Sequence Diagram)
- 【UIFramework】前端UI框架—导航条
- java中queue的使用
- requestWindowFeature()的应用
- android NotificationCompat.Builder 使用
- 15.Android 异步更新UI 技巧
- DBCP针对不同数据库的validationQuery
- 递归-快速排序quickSort