포스트

Dices (2)

viewController는 코드 파일이자 메인이고 Main은 디자인 파일이다.

이전에도 서술했지만 option누르고 클릭을 하면 새로운 layout이 하나 더 생긴다

아래와같이 누르면 좀 더 보기편하게 할 수 있다.


IB outlet, Interface outlet만들기

Control을 누르고 드래그해준다.

그리고 이름을 설정해주면 다음과 같이 코드가 생긴다.

이제 유져인터페이스 요소에 접근을 할 수 있게 되었다.

보통 네이밍을 할때는 CamelCase방식을 사용한다.

이름을 지정하고 내가 임의로 이름을 바꾸게 되면

에러가 발생한다.

왜냐하면 이미 diceImageView1으로 설정이 되어있기 때문이다.

이럴때는 연결을 끊어주면 해결이 된다. 연결을 끊을때는 우클릭을 하고 x를 하면 된다.

그리고 다시 링크 시킬때는 main쪽에 있는 코드에 보면 원이 있는데 그걸로 이어주면 된다.

만약 이름을 변경해주고 싶다면 main에서 우클릭을해주어 변경을 한다.


코드를 작성하는 방식은 Who.What = Value로 한다. 누가 바뀌는지? (Who) 누구에서의 무엇이 바뀌어야 하는지? (What) 무엇으로 변경되어야 하는지? (Value)

이렇게 아래에 간단하게 설명도 나오니 잘 봐두자.

현재 imageLiteral은 강의와는 다르기에 새로운 방식을 적어둔다

1
2
3
diceImageView1 = #imageLiteral() // O
diceImageView1 = imageLiteral // X

그러면 아래와 같이 된다.

그러면 실행전에는 첫번재 주사위가 1개이지만 실행 후에는 6개로 바뀌어있는걸 알 수 있다.


첫번째 주사위가 있는 alpha(투명도)를 0.5로 code를 이용하여 바꿔보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var diceImageView1: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        diceImageView1.alpha = 0.5 // 해당 구문을 추가해주면된다.
        diceImageView1.image = #imageLiteral(resourceName: "DiceSix")
    }
}

두번째 주사위도 IB outlet으로 연결해주고 실행시킬때 주사위가 두개가 나오게 해보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//
//  ViewController.swift
//  Dicee-iOS13
//
//  Created by Angela Yu on 11/06/2019.
//  Copyright © 2019 London App Brewery. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var diceImageView1: UIImageView!
    
    @IBOutlet weak var diceImageView2: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Who         What   Value
        diceImageView1.alpha = 0.5
        diceImageView1.image = #imageLiteral(resourceName: "DiceSix")
        
        diceImageView2.image = #imageLiteral(resourceName: "DiceTwo")
    }
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.