Open source List
github : dkhamsing
medium : mybridge
Image Content Mode
- Aspect Fit
: 화면비 유지
- Scale To Fill
: 위아래로 이미지 늘리기
- Aspect Fill
: 화면비 유지하면서 확대
How to connect viewcontroller
main.storyboard
와 ViewController
를 연결 할때 사용하는 것이 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)]
}
IBOutleIBOutle
- 앱 디자인IBAction
- 사용자의 행동을 인식 (User Interface)
개발 용어 정리
aspect ratio : 화면비
Attribute : User Interface Elements 속성
constant : 변하지 않는 변수
literal : 변하지 않는 값 ( 이미지 )
alpha
- 1 : opaque(불투명한)
- 0 : transparent(투명한)
'SWIFT > Udemy iOS' 카테고리의 다른 글
[Udemy] 섹션9: MVC 패턴, Struct, mutating ( 퀴즈 앱 ) (0) | 2021.08.02 |
---|---|
[Udemy] 섹션8: Egg Timer / ProgressView ( Control Flow and Optionals ) (0) | 2021.07.31 |
[Udemy] 섹션7: Play Sound 및 Bundle - 실로폰 만들기 (0) | 2021.07.30 |
[Udemy] 섹션6: Auto Layout and Responsive UIs (오토레이아웃, 반응형 UI) (0) | 2021.07.30 |
[Udemy] 섹션 2: Xcode 스토리보드 및 인터페이스 빌더 (0) | 2021.07.29 |