How to load a remote image from the Internet?
AsyncImage AsyncImage는 비동기로 이미지를 로드할때 사용한다. 로드중일때는 보통 Placeholder를 사용한다. 1. 뼈대 작성 struct ContentView: View { private let imageURL: String = "https://credo.academy/credo-academy@3x.png" ...
AsyncImage AsyncImage는 비동기로 이미지를 로드할때 사용한다. 로드중일때는 보통 Placeholder를 사용한다. 1. 뼈대 작성 struct ContentView: View { private let imageURL: String = "https://credo.academy/credo-academy@3x.png" ...
Info Button 기능 추가하기 Info Button을 누르면 Exchange Info 화면이 나오게 할 것이다. // Info Button HStack { Spacer() Button { ...
Info View 디자인하기 우선 파일을 하나 생성해주고 이때 UIkit을 할때는 Swift File을 했지만 이제는 아래에 있는 SwiftUI View로 만들어 준다. 그리고 다음과 같이 큰 틀을 짜준다. struct ExchangeInfo: View { var body: some View { ZStack { ...
Info Button 추가하기 기본적인 틀이 만들어졌으니, 버튼을 추가해보도록한다. 우선 버튼 디자인을 할 것인데, Button { } label: { Image(systemName: "info.circle.fill") ...
VHZStack 이미지로 간단하게 설명이 가능하다. V: Vertical H: Horizontal Z는 그냥 Z Axis인듯하다. 우리가 최종적으로 만들 앱의 Structure는 다음과 같이 될것이다. VHZStack도 View 라는것을 꼭 기억해두자. 뼈대 구성하기 여기 강의에서는 먼저 어떻게 할지 이미지화를 하고 그것에 대해서 ...
TabView를 사용하여 모두 가져오기 ContentView를 다듬어서 여태 구현한것을 모두 보여지게 해보자. TabView는 UIKit에서의 TabBarController이다. import SwiftUI import SwiftData struct ContentView: View { var body: some View { ...
차트를 구현해보려한다. TripsChart라는 새로운 파일을 만들어주고 import Charts를 해주자. 1. 샘플 데이터 모델링 struct SampleTripRating { let trip: Int let rating: Int static let ratings: [SampleTripRating] = [ ...
차트를 구현해보려한다. VegasChart라는 새로운 파일을 만들어주고 import Charts를 해주자. 1. 샘플 데이터 모델링 struct SampleRating { let place: String let rating: Int static let ratings: [SampleRating] = [ ...
MapView 파일을 하나 만들어준다. 그리고 MapKit을 import 해주자. 지도를 화면에 보여주는건 아주 간단하다 그냥 Map()을 적으면 된다. struct MapView: View { var body: some View { Map() } } 이렇게 바로 지도가 보이게 된다. 1. 설정한 지역을 보...
EmptyFile을 하나 만들어주고 이름을 Place.swift로 해주었다. 그리고 3가지를 import해준다. import SwiftData import SwiftUI import MapKit 1. Data Modeling 새로운 파일을 만들어서 모델링을 해도 되지만 여기서는 하나의 파일에 하는것같다. 한가지 새로운점이라면 @Model을 ...