본문 바로가기

맥, iOS

iOS - switch example (스위치 간단 예제)

이번에는 iOS switch 예제 간단한 것을 해보려고요.


스토리보드를 활용하도록 하겠습니다. 


1. 예제를 위해 single view로 프로젝트를 하나 생성한다. 


2. 스토리보드 (Main.storyboard)를 선택하고 스위치와 라벨을 하나 씩 View에 마우스로 끌어서 추가한다.


   그럼 아래와 같은 화면이 나오겠죠?

자 그럼 위 그림에서 오른쪽 상단에 있는 빨간박스 부분을 클릭하시면

화면이 분활되면서 소스코드와 UI를 연결할 수 있습니다.


3. UI의 소스코드 연결


소스코드 중에서 viewController의 헤더를 선택하시구요. 아래 그림과 같이요.

그 다음에 스위치에 마우스 올리시고, Ctrl 키 누르고 끌어서 소스코드로 이동합니다. 그럼 아래와 같은 화면이 나타납니다.

스위치는 액션만 테스트하려고 하기 때문에 아래 그림과 같이 설정해주시면 됩니다.

Connection을 Action으로 Name은 자유롭게 작성하시고, Type은 UISwitch로 해주시면 되겠죠? :)

다 입력하신 다음 Connect 클릭!!


Label은 스위치가 현재 On인지, Off인지를 나타내기 위함입니다. 예제니깐 추가하는 것이구요. :)

Label은 아래와 같이 설정해주세요.

Label은 액션이 아니라 Outlet으로 연결해서, 테스트하겠습니다.

Name역시 적당한 것으로 입력해주시고, Type은 UILabel로 해주시고 Connect 클릭!!


위 그림들과 동일하게 이름을 작성하셨으면 header 파일에는 아래 그림과 같이 소스코드가 생성되어 있습니다.


4. m 파일에 소스코드 추가하기.


결론적으로 m 파일은 이런 형태가 될 것입니다.



복사하시는 분도 계실 수 있으니깐. 소스코드요.

#import "STViewController.h"


@interface STViewController ()


@end


@implementation STViewController


@synthesize switchStatus;


- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    

    switchStatus.text = @"....";

}


- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


// 아래 우리가 스위치에 대한 액션을 추가해준 소스코드가 생성되었고, 그 안에 스위치의 on, off에 따라서

// Label의 text를 변경해주는 것입니다.

- (IBAction)switchTest:(UISwitch *)sender

{

    if (sender.isOn)

    {

        switchStatus.text = @"on";

    }

    else

    {

        switchStatus.text = @"off";

    }

}

@end


5. 테스트