TREASURE408 UIKit: 화면 터치하여 키보드 내리는 방법 - textField textField를 사용할 때 텍스트를 작성하고 키보드를 내리려고 하면 자동으로 키보드가 닫히지 않는 현상은 단 몇 줄의 코드로 해결 가능하다. 또, 텍스트 작성 시 자동 수정되는 부분도 해결해볼까 함! 화면 터치하여 키보드 내리기 아래 코드들을 viewController 의 아무 곳에서 추가하면 구현이 가능하다. 코드는 여러 가지가 있는데 편한 거 하나 골라서 아무거나 쓰면 OKAY 첫 번째 방법) 1. endEditing override func touchesBegan(_ touches: Set, with event: UIEvent?){ self.view.endEditing(true) } 2. UITapGestureRecognize override func viewDidLoad() { super.vi.. USEFUL CODE 2021. 8. 13. [Udemy] 섹션12: stepper, textField, segue 더치페이 계산기 목차 레이블 연결 1. @IBOutlet으로 아래의 Label들을 연결해준다. 2. @IBAction도 연결해준다. ResultsVC에 IBAction 및 IBOutlet 생성 1. Cocoa Touch 파일 생성 > ResultsViewController 라고 부르고 UIViewController 의 서브클래스로 지정. 2. Main.storyboard의 ResultsViewController를 연결시킴 3. ResultsVC에 IBOutlet 및 IBAction을 연결 버튼 toggle 활성화 isSelected라는 속성을 사용하여 버튼에 배경이 있고 선택된 것처럼 보이게 할 수 있다. @IBAction func tipChanged(_ sender: UIButton) { //버튼을 false 상태로 .. SWIFT/Udemy iOS 2021. 8. 12. [Udemy] 섹션11: Segue, Cocoa Touch Class, Optional Binding, BMI계산기 목차 Slider - Value : 슬라이더의 기본 값 - Minimum : 슬라이더의 최솟값 - Maximum : 슬라이더의 최댓값 Slider의 값 출력 ( 소수점 ) 소수점 출력 방법 ( 2 가지 ) 첫 번째, String(format: "%.2f", sender.value) 두 번째, sender.value는 Float 정수이기 때문에 Int(sender.value) 로도 가능 text 레이블로 연결 소수점 출력 방법을 let 상수로 지정한 후, Label.text로 호출 함. @IBAction func heightSliderBar(_ sender: UISlider) { let height = String(format: "%.2f", sender.value) heightLabel.text = "\.. SWIFT/Udemy iOS 2021. 8. 9. [Udemy] 섹션 10: iOS App Design Pattern Challenge https://github.com/appbrewery/Destini-LayoutPractice-iOS13 GitHub - appbrewery/Destini-LayoutPractice-iOS13: Learn to Code While Building Apps - The Complete iOS Development Bootcamp Learn to Code While Building Apps - The Complete iOS Development Bootcamp - GitHub - appbrewery/Destini-LayoutPractice-iOS13: Learn to Code While Building Apps - The Complete iOS Development Bootcamp github.com MVC .. SWIFT/Udemy iOS 2021. 8. 5. [Udemy] 섹션9: MVC 패턴, Struct, mutating ( 퀴즈 앱 ) 목차 목표 : MVC 패턴에 대해 알아본다. Quizzler Project main storyboard elements를 viewController로 연결해준다. class ViewController: UIViewController { @IBOutlet weak var questionLabel: UILabel! @IBOutlet weak var progressBar: UIProgressView! @IBOutlet weak var trueBtn: UIButton! @IBOutlet weak var falseBtn: UIButton! override func viewDidLoad() viewDidLoad는 앱을 실행할 때 딱 한 번만 실행되는 view이다. 만약 앱을 실행하자마자 퀴즈의 텍스를 보여주려면 다.. SWIFT/Udemy iOS 2021. 8. 2. [Udemy] 섹션8: Egg Timer / ProgressView ( Control Flow and Optionals ) 목차 목표 : Timer 사용, Optional의 이해, ProgressBar/View 사용 https://github.com/appbrewery/EggTimer-iOS13 Egg Timer Project main storyboard에서 View Controller Scene을 보면 우리는 아래에서 위로 본다고 생각하면 된다. 이미지를 보면 Image View가 Button 보다 아래 있으므로 Button은 Image View에 의해 숨겨지게 된다. Minimum Font Size 화면 사이즈가 각 아이폰 별로 다를 때 width/height의 크기가 줄어듬에 따라 label의 텍스트가 잘리는 경우 - 두 가지 방법 1. Inspector의 Lines를 0으로 설정 2. Autoshrink를 Minimu.. SWIFT/Udemy iOS 2021. 7. 31. [Udemy] 섹션7: Play Sound 및 Bundle - 실로폰 만들기 목차 목표 : Apple 공식 문서와 stack overflow를 활용해서 AVAudioPlayer를 활용 https://github.com/appbrewery/Xylophone-iOS13 GitHub - appbrewery/Xylophone-iOS13: Learn to Code While Building Apps - The Complete iOS Development Bootcamp Learn to Code While Building Apps - The Complete iOS Development Bootcamp - GitHub - appbrewery/Xylophone-iOS13: Learn to Code While Building Apps - The Complete iOS Development Boo.. SWIFT/Udemy iOS 2021. 7. 30. [Udemy] 섹션6: Auto Layout and Responsive UIs (오토레이아웃, 반응형 UI) 목차 Auto Layout 오토 레이아웃 사용법 main stroyboard에서 앱 화면을 구성하고 난 후, 아이폰 8 또는 아이폰 미니 등으로 기기를 변경해보면 각 화면마다 디자인이 다르게 설정된 것을 알 수 있다. 이것을 해결하기 위한 방법이 오토 레이아웃임! 오토 레아 아웃을 사용하기 위해서는 Constraints를 활용해야 한다. Add New Constraints의 선이 빨간색이 되도록 선택 -> 하단 Add 4 Constraints 클릭 가로모드 시 배경화면이 잘리는 현상을 오토 레이아웃을 통해 해결해볼까 한다. View Controller Scene Background 선택 -> Add New Constraints의 선이 빨간색이 되도록 선택 -> 하단 Add 4 Constraints 클릭 .. SWIFT/Udemy iOS 2021. 7. 30. [Udemy] 섹션 4: Swift 프로그래밍 - IBOutlet, IBAction 목차 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 를 사용하지 않고 코드를 사용하여 뷰 변경 하려면 아래와 같은.. SWIFT/Udemy iOS 2021. 7. 29. [Udemy] 섹션 2: Xcode 스토리보드 및 인터페이스 빌더 목차 iOS 프로젝트 생성 - Product Name : I Am Rich - Team : None(실제 기기에 런치할 때 필요함) - Organization Identifier : com.seon - Bundle Identifier : com.seon.I-Am-Rich (web site address) - Interface : Storyboard - Life Cycle : UIKit App Delegate - Language : Swift XCode - ⌘ + ⇧ + Y: 디버깅 - ⌘ + + , - : 폰트 사이즈 조절 - ⌘ + R : 시뮬레이터 실행 iPhone resolutions 아이폰의 화면에 많은 픽셀을 넣게 되면서, 아이폰 화면이 실제 픽셀을 나타내는 것이 아니게 되고 그래서 포인트라는 .. SWIFT/Udemy iOS 2021. 7. 29. Swift : 번들에 있는 sound 파일 재생 함수 playSound 함수 func playSound(soundName: String) { let url = Bundle.main.url(forResource: soundName, withExtension: "wav") player = try! AVAudioPlayer(contentsOf: url!) player.play() } import Foundation import AVFoundation var audioPlayer: AVAudioPlayer? func playSound(sound: String, type: String) { if let path = Bundle.main.path(forResource: sound, ofType: type) { do { audioPlayer = try AVAudioPl.. USEFUL CODE 2021. 7. 29. 자주쓰는 Xcode 단축키 모음 Xcode 단축키 SwiftUI의 Xcode를 사용하면서 자주 쓰는 단축키입니다. ⌘(CMD) + ⇧(SHIFT) + J : 열려있는 파일을 프로젝트 사이드바에서 보여줌 ⌘(CMD) + 1 ~ 9 : 왼쪽 사이드바 탭 선택 ⌘(CMD) + 0 : 사이드바 열고 닫기 ⌘(CMD) + ⇧(SHIFT) + Y : 디버깅 윈도 열기/닫기 토글 ⌘(CMD) + N : New file 생성 ⌘(CMD) + ⌥(Option) + N : 그룹 생성 ⌘(CMD) + ⇧(SHIFT) + N : 새로운 프로젝트 생성 ⌘(CMD) + ⌃(CTRL) + E : 'rename' = 특정 단어 선택 후 현재 파일 내 동일 단어를 일괄 편집 ⭐️ ⌘(CMD) + ⇧(SHIFT) + ⌃(CTRL) + N : 미니맵 on/off ⌘(C.. TIP/iOS & MacOS TIp 2021. 7. 26. Swift : 기초문법 [ 함수 / 매개변수 / 메서드 ] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. 목차 함수 함수는 특정 작업을 수행하는 '코드 조각'입니다. '독립된 기능'을 수행하는 단위인 것이죠. 함수 안에는 메서드를 포함하고 있습니다. 함수와 메서드는 기본적으로 같습니다. 그저 상황이나 위치에 따라 다른 용어로 부르는 것뿐이죠. 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수를 메서드, 모듈 전체에서 전역적으로 사용할 수 있는 함수를 그냥 함수라고 부릅니다. 즉, 함수가 위치하거나 사용되는 범위 등에 따라 호칭이 달라지는 것뿐이지 함수 라는것 자체에는 변함이 없습니다. 함수의 정의 및 호출 앞서 말했다시피 함수와 메서드는 정의하는 위치와 호출되는 범위만 다를뿐, 정의하는 키워드와 구현 방법은 같습니.. SWIFT/Grammar 2021. 7. 9. Swift : 기초문법 [Character / String / Any, AnyObject / nil] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. Character Character는 '문자'를 의미합니다. 단어, 문장처럼 문자의 집단이 아닌 단 하나의 문자를 의미하죠. Swift는 유니코드 9 문자를 사용하므로 영어, 한국어, 이모티콘 등 유니코드에서 지원하는 모든 언어 및 특수기호를 사용할 수 있습니다. 문자를 표현하기 위해서는 값의 앞 뒤에 큰 따옴표를 사용하여 표현합니다. 아래 예문은 이모티콘과 한글을 사용한 것인데, 실제로 앱을 개발할때 이모티콘과 한글을 변수로 정하는 방식은 사용하지 않습니다. let alphabetA: Character = "A" print(alphabetA) // A let love: Character = "🥰" print(love) //.. SWIFT/Grammar 2021. 7. 1. SwiftUI : Haptic Feedback (haptics vibrations) haptics vibration 에 대해 알아보도록 합시다. 이번에는 저번 sound effects처럼 싱글톤을 사용하여 앱에 특정 버튼을 누르면 햅틱 반응을 추가해보려고 합니다. 참고로 이것의 실제로 사용해보려면 시뮬레이터나 캔버스가 아닌 실제 기기가 필요합니다. 바로 시작해보도록 하죠! Haptics Vibration 우선 HapticsManager이라는 클래스를 생성하고 싱글톤을 생성해줍니다. class HapticManager { static let instance = HapticManager() } 그리고 두 개의 함수를 추가해줄건데 첫 번째는 notification 함수, 두 번째는 impact 함수입니다. 이렇게 나눠져 있는 이유는 내장된 햅틱 기능이 실제로 이렇게 분리되어있기 때문입니다. .. SWIFTUI/Others 2021. 6. 29. 이전 1 ··· 13 14 15 16 17 18 19 ··· 28 다음 한국어 (기본) English Русский 日本語 👉🏻 잠깐만요! 이 글도 한 번 보고 가세요 이전글 다음글 티스토리툴바 서근 개발노트구독하기