2011-07-12 17 views
0

私はプロジェクトのための小さなアニメーションタイプのアプリケーションを作っています。 imageViewに画像を描画するスペースがあります。その後、新しいページボタンをクリックすると、タイムライン上にある別の画像ビューに移動するために、その画像ビュー内の画像が必要になります。あなたが必要とするその他の情報がわからない場合は、私の問題を理解していただければ幸いです。UIimageビューを他のUIimageビューと同じに設定する

+0

したいのでimageviews両方が右、同じビューにありますか? – Ilanchezhian

答えて

1

haiこのコードをチェックすると、任意のイメージを描画することができ、次にgetimageメソッドをnsdata形式で使用してイメージにアクセスできます。その後、最初すなわち、空のUIImageViewが、起源や大きさを有する、画像と第二の任意の画像なしで、NSDataの

.h File 
// 
// SignatureCaptureImageView.h 
// TEST_DRAW_APP 
// 

1. List item 

// Created by Talat Masud on 8/23/10. 
// Copyright 2010 __MyCompanyName__. All rights reserved. 
// 

#import <UIKit/UIKit.h> 


@interface SignatureCaptureImageView : UIImageView { 

    CGPoint lastPoint; 

    BOOL mouseSwiped; 
    int mouseMoved; 
} 
-(NSData *)getImage; 

@end 


Implementation File 


#import "SignatureCaptureImageView.h" 


@implementation SignatureCaptureImageView 


- (id)initWithFrame:(CGRect)frame { 
    if ((self = [super initWithFrame:frame])) { 
     // Initialization code 
     self.userInteractionEnabled = YES; 
     mouseMoved = 0; 
    } 
    return self; 
} 

- (id)initWithImage:(UIImage*)image { 
    if ((self = [super initWithImage:image])) { 
     // Initialization code 
     self.userInteractionEnabled = YES; 
     mouseMoved = 0; 
    } 
    return self; 
} 

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

    mouseSwiped = NO; 
    UITouch *touch = [touches anyObject]; 

    if ([touch tapCount] == 2) 
    { 
     //self.image = nil; 
     return; 
    } 

    lastPoint = [touch locationInView:self]; 
    lastPoint.y -= 5; 

} 


- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    mouseSwiped = YES; 

    UITouch *touch = [touches anyObject]; 
    CGPoint currentPoint = [touch locationInView:self]; 
    currentPoint.y -= 5; 


    UIGraphicsBeginImageContext(self.frame.size); 
    [self.image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
    CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); 
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0); 
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); 
    CGContextBeginPath(UIGraphicsGetCurrentContext()); 
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y); 
    CGContextStrokePath(UIGraphicsGetCurrentContext()); 
    self.image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    lastPoint = currentPoint; 

    mouseMoved++; 

    if (mouseMoved == 10) { 
     mouseMoved = 0; 
    } 

} 

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

    UITouch *touch = [touches anyObject]; 

    if ([touch tapCount] == 2) { 
     //self.image = nil; 
     return; 
    } 


    if(!mouseSwiped) { 
     UIGraphicsBeginImageContext(self.frame.size); 
     [self.image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
     CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); 
     CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0); 
     CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); 
     CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
     CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
     CGContextStrokePath(UIGraphicsGetCurrentContext()); 
     CGContextFlush(UIGraphicsGetCurrentContext()); 
     self.image = UIGraphicsGetImageFromCurrentImageContext(); 
     UIGraphicsEndImageContext(); 
    } 
} 

-(NSData *)getImage{ 
    return UIImagePNGRepresentation(self.image); 
} 

- (void)dealloc { 
    [super dealloc]; 
} 


@end 
0

宣言2つのUIImageViewsから画像に変換することができます。その後

、uはアニメーション、次の操作を行い、

[UIView animateWithDuration:3.0 
       animations:^{ 
        CGRect sframe = mSecondImgView.frame; 
        mFirstImgView.frame = sframe; 
       } 
       completion:^(BOOL finished){ 

       }]; 
関連する問題