궁금한 내용을 검색해보세요!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서근 개발노트
티스토리에 팔로잉
SWIFT/Udemy iOS

[Udemy] 섹션 4: Swift 프로그래밍 - IBOutlet, IBAction

서근
QUOTE THE DAY

-
Written by SeogunSEOGUN

반응형

 

Open source List

github : dkhamsing
medium : mybridge

Image Content Mode

Aspect Fit  /  Scale to Fill  /  Aspect Fill

- Aspect Fit :  화면비 유지
- Scale To Fill :  위아래로 이미지 늘리기
- Aspect Fill :  화면비 유지하면서 확대

How to connect viewcontroller

main.storyboardViewController를 연결 할때 사용하는 것이 IBOutlet 이다.

    @IBOutlet weak var diceImageView1: UIImageView!
    @IBOutlet weak var diceImageView2: UIImageView!

Attribute Inspector 를 사용하지 않고 코드를 사용하여 뷰 변경 하려면 아래와 같은 형식을 염두하면 된다.

Who.What = Value

예를들어 diceImageView1의 투명도를 0.5로 조절하려면 다음과 같다.

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var diceImageView1: UIImageView!
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func pressedRollBtn(_ sender: Any) {    
        diceImageView2.alpha = 0.5
    }
}

또, Image Literal이라고 입력하면 이미지를 선택할 수 있는 화면으로 바뀐다.

Responding to User Interactions with IBActions

버튼을 viewController에 연결하면 아래와 같이 연결할수있는 메뉴가 뜬다. 버튼을 연결할 때는 Action, UIButton, Touch Up Inside를 정확히 설정해야 한다.

Array 배열 사용

[Angela, Jack, Philipp][2] // Philipp

/*
Angela = 0 
Jack = 1
Philipp = 2
*/

Randomization

랜덤한 값을 주는 방법 - range operatior

Int.random(in: 0...100)
Float.random()
Bool.random()

let diceArray = [1, 2, 3]
diceArray.randomElement()
    @IBAction func pressedRollBtn(_ sender: Any) {
        
        let dices = [ #imageLiteral(resourceName: "DiceOne"), #imageLiteral(resourceName: "DiceTwo"), #imageLiteral(resourceName: "DiceThree"), #imageLiteral(resourceName: "DiceFour"), #imageLiteral(resourceName: "DiceFive"), #imageLiteral(resourceName: "DiceSix") ]
        
        diceImageView2.alpha = 0.5
        
        diceImageView1.image = dices[Int.random(in: 0...5)]
        diceImageView2.image = dices[Int.random(in: 0...5)]
    }

TIP
 
 

IBOutle
IBOutle - 앱 디자인
IBAction - 사용자의 행동을 인식 (User Interface)

개발 용어 정리

aspect ratio : 화면비

Attribute : User Interface Elements 속성

constant : 변하지 않는 변수

literal : 변하지 않는 값 ( 이미지 )

alpha
   -  1 : opaque(불투명한)
   -  0 : transparent(투명한)

 

 


잘못된 내용이 있으면 언제든 피드백 부탁드립니다.


서근


위처럼 이미지 와 함께 댓글을 작성할 수 있습니다.