-
StoryBoard
- StackView : 세로(전체 부분) 가로(요일 부분) 연습
- Auto Layout 설정
-
ViewController
- list 통한 데이터 셋팅
- 버튼 동작 : 버튼 클릭시 이미지 및 라벨 수정
- UI 만들기
- StackView - Vertical
- Label
- ImgView
- Label
- StackView - Horizontal
- Label
- ImgView
- Label
- Btn
- StackView - Vertical
- 버튼 동작 넣기
- Change City 버튼 클릭시
- Label 변경
- ImgView 변경
- Stack View - Vertical(전체) 만들기
- Stack View 안에 Label, ImgView, Label, StackView - Horizontal(주차), Btn 순서대로 넣기
- Auto Layout 설정하기
- StackView - Horizontal 만들기 - Label, ImgView, Label 순서대로 넣기 (5개)
- Auto Layout 설정하기
@IBOutlet weak var cityLabel: UILabel!
@IBOutlet weak var weatherImgView: UIImageView!
@IBOutlet weak var temperatureLabel: UILabel!
let cities = ["Seoul", "Tokyo", "LA", "Seattle"]
let weathers = ["cloud.fill", "sun.max.fill", "wind", "cloud.sun.rain.fill"]
@IBAction func changeButtonTapped(_ sender: Any) {
cityLabel.text = cities.randomElement()
// list 이용해서 이미지 변경해주기
// .withRenderingMode를 통해서 이미지 색상 및 모드 설정
let imageName = weathers.randomElement()
weatherImgView.image = UIImage(systemName: imageName!)?.withRenderingMode(.alwaysOriginal)
//random 이용해서 10°C에서 30°C로 만들기
let randomTemp = Int.random(in: 10..<30)
temperatureLabel.text = "\(randomTemp)°C"
print("도시, 온도, 날씨 이미지 변경하기!")
}
- 각 상위 또는 본인의 AutoLayout 설정하기
- StackView안의 StackView