사진을 불러왔으면 다양한 방법으로 편집을 해볼 수 있어야 한다


여기서는 펜, 선, 원 을 그리는 기능을 추가해 보도록 하자



구현하려는 기능의 작동되어지는 예상 순서는 다음과 같다


1. 메인 화면은 Draw 버튼을 누른다


2. 사용하려는 기능을 선택할 수 있는 창으로 전환시킨다


3. 그리기 기능 중 하나를 선택하고, 메인 창으로 돌아온다


4. 선택한 그리기 기능을 메인화면에서 실행한다






그럼 우선 1번과 2번을 구현해 보도록하자


1. 새로운 창을 하나 만든다


스토리보드에 메인화면과 같은 크기의 창을 하나 만들고


사용하려는 기능들을 담는다







2. 새로만든 창을 위한, 클래스를 하나 만든다


새로만든 창에서 사용하기 위한 


PainterSetupViewController 클래스를 하나 만든다



===================================================================================

#import <UIKit/UIKit.h>


@interface PainterSetupViewController : UIViewController



@end

===================================================================================






3. 새로만든 클래스를 view에 사용할 수 있도록 헤더파일에 추가한다   


ViewController.h에 


PainterSetupViewController.h를 추가하고


PainterSetupViewController *pPainterSetupViewController 를 클래스를 사용하기 위한 변수로 선언한다 


===================================================================================

#import <UIKit/UIKit.h>

#import "PainterSetupViewController.h"



@interface ViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>

{

    IBOutlet UIImageView *pImageView;   // 이미지

    

    UIImage *orginImage;    // 원본 이미지

    

    PainterSetupViewController *pPainterSetupViewController;

}


-(IBAction)LoadClick;

-(IBAction)CutClick;

-(IBAction)DrawClick;

-(IBAction)EraseClick;

-(IBAction)EffectClick;

-(IBAction)SaveClick;

===================================================================================





4. Draw 버튼을 눌렀을때의 함수를 구현한다


ViewController.m 에서,


Draw버튼을 눌렀을때,


작동하는 기능을 구현한다


instantiateViewControllerWithIdentifier 를 사용하여, 스토리보드의 객체를 가져오고


presentViewController 를 사용하여, 화면에 해당뷰를 보일 수 있도록 설정한다


===================================================================================

// 사진에 그리기 기능을 추가한다

-(IBAction)DrawClick

{

    // 작은 창을 띄워서 설정할 수도 있겠지만,

    // 속성을 선택하는 화면을 띄워서 처리하도록 해본다

    

    if(pPainterSetupViewController == nil){

        

        // instantiateViewControllerWithIdentifier

        // - 스토리보드에 있는 객체를 가져오는데 사용되는 메서드로, 객체의 식별자(identifier) 문자열로 설정해야 한다

                

        PainterSetupViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PainterSetupViewController"];

        

        

        pPainterSetupViewController = viewController;

        

    }

    

    // presentViewController - 특정뷰를 모달로 화면에 나타내는 메서드, 설정 화면이 모달로 나타나게 된다

    [self presentViewController:pPainterSetupViewController animated:YES completion:nil];

    

}

===================================================================================




instantiateViewControllerWithIdentifier 를 사용하기 위해서는


스토리보드를 생성할때 식별자를 등록하는 작업은 필수로 해야 한다


PainterSetupViewController


해당 이름으로 등록은 필수다






여기까지의 구현으로


구현하려는 기능의 작동 순서중 1번. 2번이 해결되었다


시뮬레이터를 통해서 해당 기능이 수행되어짐을 확인하자


1. 메인 화면은 Draw 버튼을 누른다


2. 사용하려는 기능을 선택할 수 있는 창으로 전환시킨다



                  





이제 다음은 3번. 4번이 남았다


3. 그리기 기능 중 하나를 선택하고, 메인 창으로 돌아온다


4. 선택한 그리기 기능을 메인화면에서 실행한다


또 해당 내용을 구현해봐야겠다



Posted by 스타켄지니어
,