bob体育官方平台
js实现图片从左往右渐变切换效果的方法_javascript技巧_脚本之家

本文实例讲述了js实现图片从左往右渐变切换效果的方法。分享给大家供大家参考。具体实现方法如下:

iOS阶段学习第32天笔记(页面传值方法介绍),ios第32天

iOS学习(UI)知识点整理

一、界面传值方法

1、方法一  Block传值  通过SubView视图的Block向View视图传值改变View视图的背景色 实例代码:

1)SubViewController.h 文件的代码实现

1 #import <UIKit/UIKit.h>
2 @interface SubViewController : UIViewController   
3 @property (nonatomic,copy) void(^callback)(UIColor *color); 
4 -(void)login:(NSString *)username password:(NSString *)password complete:(void(^)(UIColor *color))callback; 
5 @end

2)SubViewController.m 文件代码实现

 1  #import "SubViewController.h" 
 2   @interface SubViewController () 
 3   @end 
 4 @implementation SubViewController 
 5 - (void)viewDidLoad {
 6     [super viewDidLoad]; 
 7     self.view.backgroundColor = [UIColor grayColor]; 
 8     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem  alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self
 9  action:@selector(testAciton)]; 
10 } 
12 -(void)testAciton
13 {
14      _callback([UIColor blueColor]); 
15     [self.navigationController popViewControllerAnimated:YES];
16 }
17 -(void)login:(NSString *)username password:(NSString *)password complete:(void(^)(UIColor *color))callback
19 {
20       callback([UIColor redColor]);
21 } 
22 @end

3)ViewController.m 文件的代码实现:

 1 #import "ViewController.h"
 2 #import "SubViewController.h"
 3 @interface ViewController ()
 4 @end
 5 @implementation ViewController
 6 - (void)viewDidLoad {
 7     [super viewDidLoad];     
 8     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks 
       target:self action:@selector(testAciton)];   
11 }
12 -(void)testAciton
13 {
14     SubViewController *subvc = [[SubViewController alloc]init];
15 //    subvc.callback --> void(^)(UIColor *) 
16     //传参与回调
17     [subvc login:@"Admin" password:@"123" complete:^(UIColor *color) {
18         self.view.backgroundColor = color;
19     }]; 
21     [subvc setCallback:^(UIColor *color) {
22         self.view.backgroundColor = color;
23     }];
24     [self.navigationController pushViewController:subvc animated:YES];
25 } 
26 @end

2、方法二   通知中心传值 实例代码:

bob体育官方平台,1)添加一个通知中心管理类  KKNotificationCenter.h 文件实现代码

 1 #import <Foundation/Foundation.h>
 2 @interface KKNotification : NSObject
 3 //观察者对象
 4 @property (nonatomic,strong) id observer;
 5 //观察者通知执行方法
 6 @property (nonatomic,assign) SEL selector;
 7 //观察者的键值
 8 @property (nonatomic,copy) NSString *name;
 9 //返回参数
10 @property (nonatomic,strong) id object;
11 @end
12 
13 @interface KKNotificationCenter : NSObject
14 +(id)defaultCenter;
15 -(void)addObserver:(id)observer selector:(SEL)sel name:(NSString *)name object:(id)object;
16 -(void)postNotificationName:(NSString *)name object:(id)object;
17 @end

2)KKNotificationCenter.m 文件实现代码

 1 #import "KKNotificationCenter.h"
 2 @implementation KKNotification
 3 @end
 4 @implementation KKNotificationCenter
 5 {
 6     NSMutableArray *_notArray;
 7 }
 8 
 9 +(id)defaultCenter
10 {
11     static KKNotificationCenter *_q = nil;
12     if (!_q) {
13         _q = [[KKNotificationCenter alloc]init];
14     }
15     return _q;
16 } 
18 - (id)init
19 {
20     self = [super init];
21     if (self) {
22         _notArray = [[NSMutableArray alloc]init];
23     }
24     return self;
25 }
26 
27 -(void)addObserver:(id)observer selector:(SEL)sel name:(NSString *)name object:(id)object
28 {
29    KKNotification *not = [[KKNotification alloc]init];
30     not.observer = observer;
31     not.selector = sel;
32     not.name = name;
33     [_notArray addObject:not];
34 }
35 
36 -(void)postNotificationName:(NSString *)name object:(id)object
37 {
38     for (KKNotification *not in _notArray) {
39         if ([not.name isEqualToString:name]) {
40             not.object = object;
41             [not.observer performSelector:not.selector withObject:not];
42         }
43     }
44 }
45 @end

3)在ViewController.m 视图文件中注册一个观察者 实例代码

 1 #import "ViewController.h"
 2 #import "SubViewController.h"
 3 #import "KKNotificationCenter.h"
 4 @interface ViewController ()
 5 @end
 6 @implementation ViewController  
 7 - (void)viewDidLoad {
 8     [super viewDidLoad];     
 9     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self
10  action:@selector(testAciton)];
11     
12 //在通知中心里注册一个观察者:self
13 //name:作为观察者的键值
14 [[KKNotificationCenter defaultCenter]addObserver:self selector:@selector(notAction:) 
15 name:@"changeColor" object:nil];
16   }
17 
18 -(void)notAction:(KKNotification *)not
19 {
20     self.view.backgroundColor = not.object;
21 }
22  
23 -(void)testAciton
24 {
25     SubViewController *subvc = [[SubViewController alloc]init]; 
27     [subvc setValue:@20 forKey:@"age"];
28     [subvc performSelector:@selector(testAciton) withObject:nil];  
30     [self.navigationController pushViewController:subvc animated:YES];
31 }
32 @end

4)SubViewController.h 文件中的代码实现

 1 #import <UIKit/UIKit.h>
 2 @interface SubViewController : UIViewController
 3 {
 4 @private
 5     int age;
 6 } 
 8 -(void)test; 
10 @end

5)SubViewController.m   文件中执行通知的代码实现

 1 #import "SubViewController.h"
 2 #import "KKNotificationCenter.h"
 3 @interface SubViewController ()
 4 @end
 5 @implementation SubViewController
 6 - (void)viewDidLoad {
 7     [super viewDidLoad];
 8    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks
      target:self action:@selector(testAciton)];
10 } 
12 -(void)testAciton
13 {
14     //通知中心广播
15     //广播使用的名字,必须和注册时,使用的名字一致
16     [[KKNotificationCenter defaultCenter]postNotificationName:@"changeColor" object:[UIColor redColor]]; 
17     [self.navigationController popViewControllerAnimated:YES];
18  } 
20 -(void)test
21 {
22     NSLog(@"%d",age);
23 } 
24 @end

3、方法三   Target-Action 传值 通过SubViewController传值改变ViewControllerd的背景色 实例代码

1)SubViewController.h 文件中的代码实现

 1  #import <UIKit/UIKit.h>
 2 //枚举 区别控制器类型
 3 typedef NS_ENUM(NSUInteger, PlayerController) {
 4     PlayerControllerLeft,
 5     PlayerControllerRight,
 6     PlayerControllerCenter,
 7     PlayerControllerUp,
 8     PlayerControllerDown,
 9 };
10 
11 @interface SubViewController : UIViewController
12 -(void)addTarget:(id)obj action:(SEL)action forEvents:(PlayerController)events;
13 @end

2)SubViewController.m 文件中的代码实现

 1 #import "SubViewController.h"
 2 @interface SubViewController ()
 3 {
 4     id _leftObj;
 5     id _rightObj;
 6     SEL _leftSelector;
 7     SEL _rightSelector;
 8 }
 9 @end
10 @implementation SubViewController
11 - (void)viewDidLoad {
12     [super viewDidLoad];  
14     self.view.backgroundColor = [UIColor grayColor]; 
15     self.navigationItem.rightBarButtonItem  = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
       target:self action:@selector(leftAction)];
18 }
19 
20 -(void)addTarget:(id)obj action:(SEL)action forEvents:(PlayerController)events
21 {
22     switch (events) {
23         case PlayerControllerLeft:
24         {
25             _leftObj = obj;
26             _leftSelector = action;
27         }
28             break;
29         case PlayerControllerRight:
30         {
31             _rightObj = obj;
32             _rightSelector = action;
33         }
34             break; 
36         default:
37             break;
38     }
39 } 
41 -(void)leftAction
42 {
43     [_leftObj performSelector:_leftSelector withObject:nil]; 
45     [self.navigationController popViewControllerAnimated:YES];
46 } 
48 @end

3)ViewController.m 文件中的代码实现

 1 #import "ViewController.h"
 2 #import "SubViewController.h"
 3 @interface ViewController ()
 4 @end
 5 @implementation ViewController
 6 - (void)viewDidLoad {
 7     [super viewDidLoad];
 8     UIButton *btn
 9     = [UIButton buttonWithType:UIButtonTypeCustom];
10     [btn addTarget:self action:@selector(clickAction) forControlEvents:UIControlEventTouchUpInside];
11     btn.frame = CGRectMake(10, 100, 300, 50);
12     btn.backgroundColor = [UIColor blueColor];
13     [self.view addSubview:btn]; 
15 }
16 
17 -(void)clickAction
18 {
19     SubViewController *subvc = [[SubViewController alloc]init]; 
21     [subvc addTarget:self action:@selector(leftAction) forEvents:PlayerControllerLeft]; 
23     [subvc addTarget:self action:@selector(rightAction) forEvents:PlayerControllerRight]; 
25     [self.navigationController pushViewController:subvc animated:YES];
26 } 
28 -(void)leftAction
29 {
30     self.view.backgroundColor = [UIColor yellowColor];
31 } 
33 -(void)rightAction
34 {
35     self.view.backgroundColor = [UIColor redColor];
36 } 
38 @end

4、方法四 代理传值  通过SubViewController传值改变ViewControllerd的背景色 实例代码

1) SubViewController.h文件中的代码实现

 1 #import <UIKit/UIKit.h>
 2 //协议的本质就是一个方法列表
 3 @protocol Protocal <NSObject>
 4 -(void)changeTitle:(NSString *)title;
 5 -(void)changeBackColor:(UIColor *)color;
 6 -(void)changeViewColor:(UIColor *)color;
 7 @end
 8 @interface SubViewController : UIViewController
 9 @property (nonatomic,assign) id<Protocal> delegate;
10 @end

2)SubViewController.m文件中的代码实现

 1 #import "SubViewController.h"
 2 #import "ViewController.h"
 3 @interface SubViewController ()
 4 @end
 5 @implementation SubViewController
 6 
 7 - (void)viewDidLoad {
 8     [super viewDidLoad];
 9     self.title = @"界面二";
10     self.view.backgroundColor = [UIColor grayColor];
11     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks 
      target:self action:@selector(backAction)];
13 }
14 
15 -(void)backAction
16 {
17 //    NSArray *arr = self.navigationController.viewControllers;      
18 //    UIViewController *vc = arr[arr.count - 2];     
19 //    ViewController *vc = (ViewController *)_delegate;   
21     [_delegate changeTitle:@"home"]; 
22     [_delegate changeBackColor:[UIColor blueColor]]; 
23     [_delegate changeViewColor:[UIColor yellowColor]]; 
25     [self.navigationController popViewControllerAnimated:YES]; 
27 }
28 -(void)dealloc
29 {
30     NSLog(@"----------------------");
31 }
32 @end

3)ViewController.h文件中的代码实现

 1 #import <UIKit/UIKit.h>
 2 #import "SubViewController.h" 
 4 @interface ViewController : UIViewController<Protocal> 
 6 -(void)changeTitle:(NSString *)title;
 7 -(void)changeBackColor:(UIColor *)color;
 8 -(void)changeViewColor:(UIColor *)color; 
10 @end

4)ViewController.m文件中的代码实现

 1 #import "ViewController.h"
 2 #import "SubViewController.h" 
 3 @interface ViewController ()
 4 {
 5     UIView *_v;
 6     SubViewController *subvc;
 7 }
 8 @end 
10 @implementation ViewController 
12 - (void)viewDidLoad {
13     [super viewDidLoad]; 
14     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
       target:self  action:@selector(pushAction)];
17     self.title = @"首页";  
18     _v = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 200, 100)];
19     [self.view addSubview:_v];
20     _v.backgroundColor = [UIColor redColor];  
21     subvc = [[SubViewController alloc]init];
22     subvc.delegate = self;  
23 }
-(void)pushAction
26 {
27     [self.navigationController pushViewController:subvc animated:YES];
28 }
29-(void)changeViewColor:(UIColor *)color
31 {
32     _v.backgroundColor = color;
33 }
 -(void)changeTitle:(NSString *)title
36 {
37     self.title = title;
38 }
 -(void)changeBackColor:(UIColor *)color
41 {
42     self.view.backgroundColor = color;
43 }
 @end

5、方法五  属性传值  通过FirstViewController传值改变SubViewControllerd的背景色 实例代码

1)SubViewController.h文件中的代码实现

1 #import <UIKit/UIKit.h> 
2 @interface SubViewController : UIViewController 
3 @property(nonatomic,strong) NSString *mtitle; 
4 @property(nonatomic,strong) UIColor *color; 
5 @end

2)SubViewController.m 文件中的代码实现

 1 #import "SubViewController.h"
 2  @interface SubViewController ()
 3 @end
 4 @implementation SubViewController
 5 - (void)viewDidLoad {
 6 [super viewDidLoad];
  self.title=_mtitle;
 9self.view.backgroundColor=_color;
}
12 @end

3)FirstViewController.m 文件中的代码实现

 1 #import "FirstViewController.h"
 2 #import "SubViewController.h"
 3 @interface FirstViewController ()
 4 @end
 5 @implementation FirstViewController
 6 - (void)viewDidLoad {
 7     [super viewDidLoad];
 8     self.view.backgroundColor=[UIColor whiteColor];
 9     UIButton *button=[[UIButton alloc]init];
10     button.frame=CGRectMake(80, 100, 200, 30);
11     button.backgroundColor=[UIColor blackColor];
12     [button setTitle:@"下一页" forState:UIControlStateNormal];
13     [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
14     [button addTarget:self 
15 action:@selector(touchButton:) forControlEvents:UIControlEventTouchUpInside]; 
16     [self.view addSubview:button];
17 }
18 
19 -(void)touchButton:(UIButton*)button{  
20     button.backgroundColor=[UIColor grayColor];     
21  
22     SubViewController *subVC=[[SubViewController alloc]init];
23     subVC.mtitle=@"页面二";
24     subVC.color=[UIColor redColor];
25     [self.navigationController pushViewController:subVC animated:YES];
26 }
27 @end

 

iOS学习(UI)知识点整理 一、界面传值方法 1、方法一 Block传值 通过SubView视图的Block向...

复制代码 代码如下:

返回顶部