본문 바로가기

iOS28

[IOS] TimerClass 이용해 카운트다운 타이머 만들기 안녕하세요. 오늘은 제한 시간을 두고 과제를 수행하는 앱을 위한 카운트다운 타이머를 iOS에서 구현하는 방법을 알아보도록 하겠습니다. 구직 로직은 간단합니다. 타이머 클래스를 이용해서 원하는 초단위가 0이 될때까지 매 1초 마다 1초씩 빼줍니다. 코드는 아래와 같습니다. import Foundation import SwiftUI struct TimeTest : View{ @State private var remainingSeconds = 10 * 60 //10분 타이머 세팅 @State private var isCountdownOver = false //카운트 다운 끝 = false 세팅 var body: some View{ VStack{ CountdownView1(remainingSeconds: $re.. 2023. 9. 8.
[iOS][SwiftUI] 달력 만들기 안녕하세요 오늘은 SwiftUI를 이용하여 달력을 만들어 보겠습니다. 코드는 아래와 같습니다. struct ContentView: View { // 요일의 배열 let daysInWeek = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] // 월의 배열 let monthsInYear = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] // 날짜 포맷터 var dateFormatter: DateFormatter { let formatter = DateFormatter() formatter.dat.. 2023. 7. 4.
[iOS][SwiftUI] 스톱워치 만들기 안녕하세요 오늘은 SwiftUI를 이용하여 스톱워치를 만들어볼텐데요, 전체적인 코드와 주석은 아래와 같습니다. import SwiftUI struct StopWatchView: View { // 타이머 값 @State var counter: Double = 0.0 // 타이머 객체 var timer = Timer() var body: some View { VStack { // 타이머 값을 표시하는 레이블 Text(String(format: "%.2f", counter)) .font(.largeTitle) .fontWeight(.bold) .padding() .onReceive(timer) { _ in // 타이머 값 0.01초 증가 self.counter += 0.01 } HStack { // 타이머 시.. 2023. 6. 19.
[iOS][SwiftUI] Todo 만들기 안녕하세요 오늘은 Todo를 만들어보도록 하겠습니다. 1.데이터 모델 만들기 Todo 항목을 저장하기 위한 데이터 모델을 만들어야합니다. 이 예제에서는 간단한 Todo 항목을 나타내는 TodoItem 구조체를 만들겠습니다. struct TodoItem: Identifiable { let id = UUID() var title: String var completed: Bool } 2. 사용자 인터페이스 만들기 Todo 항목을 표시하기 위해 SwiftUI의 List 뷰 요소를 사용할 수 있습니다. 또한 Toggle 뷰 요소를 사용하여 각 Todo 항목의 완료 여부를 표시할 수 있습니다. struct TodoListView: View { @State var todoItems: [TodoItem] = [ Tod.. 2023. 5. 24.
[iOS][SwiftUI] 메모장 만들기 안녕하세요. 오늘은 SwiftUI를 이용하여 간단한 메모장을 만들어보도록 하겠습니다. 1. 모델 생성 메모장 앱에서는 메모의 제목과 내용이 필요합니다. 이를 저ㅏ장할 수 있는 모델을 생성합니다. struct Memo: Identifiable { let id = UUID() var title: String var content: String } 2. 리스트 뷰 생성 메모 리스트를 표시할 뷰를 생성합니다. 이 뷰에서는 'List'와 'ForEach'를 사용하여 메모 리스트를 표시합니다. struct MemoListView: View { @State var memos: [Memo] = [] var body: some View { NavigationView { List { ForEach(memos) { memo.. 2023. 5. 7.
[iOS][Swift UI] 계산기 예제 안녕하세요. 아래 예제 코드는 계산기를 구현한 예제입니다. buttons 배열에는 계산기 버튼을 포함하고 있습니다. @State 변수를 사용하여 현재 화면에 보여지는 값(display), 첫 번째 피연산자(operand1), 두 번째 피연산자(operand2), 연산자(operation), 그리고 화면 초기화 여부(clearDisplay)를 관리합니다. handleButtonPress 함수는 사용자가 계산기 버튼을 눌렀을 때 호출되며, 입력한 버튼에 따라 @State 변수를 업데이트하고, 계산 결과를 표시합니다. calculate 함수는 피연산자와 연산자를 사용하여 계산 결과를 반환합니다. 위 예제 코드는 버튼에 따라 배경 색상이 다르게 나타나도록 구현되어 있습니다. 버튼의 배경 색상은 buttonBac.. 2023. 4. 20.
[iOS][Swift UI] List View 사용하기 SwiftUI는 iOS 앱 개발에서 많이 사용되는 프레임워크 중 하나입니다. SwiftUI를 사용하면 기존에 UIKit으로 개발하던 방식과는 다르게 선언적인 방식으로 더 쉽게 앱을 개발할 수 있습니다. 이번 글에서는 SwiftUI에서 List View를 작성하는 방법에 대해 알아보겠습니다. List View는 iOS 앱에서 데이터를 표시하기 위해 가장 많이 사용되는 뷰 중 하나입니다. 1. 2List View 생성하기 List View를 생성하기 위해서는 SwiftUI에서 제공하는 List View를 사용하면 됩니다. 아래와 같이 코드를 작성하면 기본적인 List View를 생성할 수 있습니다. List { Text("Item 1") Text("Item 2") Text("Item 3") } 2. List.. 2023. 4. 4.
[iOS][Swift UI] iPages 안드로이드 ViewPager 에 비해 iOS는 관련 기능을 구현하기 어려운 문제가 있습니다. 해당 라이브러리를 이용해 간단하게 구현할수 있습니다. 아래의 참고 페이지 가면 정확한 내용을 알수 있지만 간략하게 정리 하겠습니다. https://github.com/benjaminsage/iPages import SwiftUI import iPages import iGraphics struct ContentView: View { var body: some View { iPages { iGraphicsView(.first) iGraphicsView(.second) iGraphicsView(.third) } } } import SwiftUI import iPages struct ContentView: View { .. 2023. 3. 22.
[iOS][Swift UI] 뷰 강제닫기 앱을 제작하다 보면, 뷰를 강제로 닫아야할 상황이 오기도 합니다. @Environment(\.presentationMode) var presentationMode 위의 변수를 선언해 준뒤 이벤트가 발생한 시점에서 self.presentationMode.wrappedValue.dismiss() 위의 코드를 작성해주면 뷰가 강제로 닫히게 됩니다. 이때 바인딩된 데이터는 살아있고, 해당 뷰에 있는 변수는 초기화 됩니다. 2023. 3. 7.