iOS放大鏡例子,用View類實現 – iPhone手機開發技術文章 iPhone軟體開發教學課程

 

ViewController.h

 

//
//  ViewController.h
//  放大鏡例子
//
//  Created by 杜甲 on 14-3-10.
//  Copyright (c) 2014年 杜甲. All rights reserved.
//

#import 
#import MagnifierV.h

@interface ViewController : UIViewController
@property (strong , nonatomic) MagnifierV* magnifier;

@end

ViewController.m

 

 

//
//  ViewController.m
//  放大鏡例子
//
//  Created by 杜甲 on 14-3-10.
//  Copyright (c) 2014年 杜甲. All rights reserved.
//

#import ViewController.h

@interface ViewController ()

@end

@implementation ViewController

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


    UIImageView* image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@changmen.jpg]];
    image.frame  = CGRectMake(0, 0, 320, 548);
    [self.view addSubview:image];
    
    
    /*要將放大鏡視圖最後 addSubview 到視圖中*/
    self.magnifier = [[MagnifierV alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
    self.magnifier.viewToMagnify = self.view;
    [self.view addSubview:self.magnifier];
    
    self.magnifier.hidden = YES;

}


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    

    self.magnifier.hidden = NO;
    
    UITouch* touch = [touches anyObject];
    CGPoint point = [touch locationInView:self.view];
    self.magnifier.touchPoint = point;
    [self.magnifier setNeedsDisplay];
    
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
	[self handleAction:touches];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
	self.magnifier.hidden = YES;
}

- (void)handleAction:(id)timerObj {
	NSSet *touches = timerObj;
	UITouch *touch = [touches anyObject];
	   
    CGPoint point =[touch locationInView:self.view];
    self.magnifier.touchPoint = point;

	[self.magnifier setNeedsDisplay];
}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

發佈留言