본문 바로가기

Developer/iOS, Swift27

[Swift] 화면 스와이프 시, 뒤로가기 기능 구현하기 아이폰 유저라면 누구나 익숙한 것이 하나 있습니다. 손가락을 좌에서 우로 슬라이드시키면, 보고 있던 화면이 꺼지는 기능인데요. 해당 기능을 구현하는 코드는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 func swipeRecognizer() { let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture(_:))) swipeRight.direction = UISwipeGestureRecognizer.Direction.right self.view.addGestureRecognizer(swipeRight) } @objc func resp.. 2019. 12. 10.
[Swift] 안드로이드처럼 Toast 메시지 띄우기 안드로이드에는 Toast라는 기능을 내장하고 있습니다. 창을 띄우지 않고, 작은 메시지만 바로 띄워서 문구를 보여주는 기능인데요. 예를 들어 뒤로 가기 버튼을 눌렀을 때, '한번 더 누르면 종료됩니다' 라고 뜨는게 바로 토스트 메시지이다. 스위프트는 토스트 기능 자체를 라이브러리화하고 있진 않은 듯 하다. 따라서 View를 새로 만들어 띄우는 방식으로 직접 프로그램을 짜서 해주는 듯 하다. 코드는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 func showToast(message : String) { let width_variable:CGFloat = 10 let toastLabel = UILabel(frame: CGRect(x: width_var.. 2019. 12. 9.
[Swift] TextView에도 Placeholder가 넣고 싶을 때? 스위프트에 유사한 텍스트 입력기로, textField와 textView가 있습니다. 전자는 한 줄 입력을 받을 때 사용하고, 후자는 긴 인풋 데이터를 받을 때 주로 사용하는데요. 문제는 textView에는 placeHolder가 없다는 것입니다. 그렇다면 placeHolder가 뭘까요? 말그대로 플레이스 홀더입니다. 즉 미리 특정 내용이 보여질 수 있게 해주는 건데요. 예를들어 앱에서 리뷰를 작성하다고 하면, 해당 부분에 회색 글씨로 "리뷰를 작성해주세요" 라고 써 있는 것을 본 적이 있을겁니다. 실제 입력된 내용은 아니지만, 미리 그 위치에 보여줌으로써 유저의 사용성을 개선하는 역할을 한다고 보시면 될 것 같습니다. 그렇다면 textView에 어떻게 placeHolder을 넣는 것일까요? 일종의 트릭을.. 2019. 12. 9.
[Swift] UserDefaults로 디바이스에 데이터 저장하기 앱 개발을 하다보면 유저의 디바이스에 특정 값을 저장해야할 일이 많습니다. 제가 개발하고 있는 앱에서도 사용자가 가장 최근에 지정한 설정값들을 디바이스에 저장하고, 다음에 다시 앱을 실행했을 때 이를 불러오는 기능이 있는데요. UserDefaults를 사용하여 구현해보겠습니다. 1 2 3 let userInput: String = "저를 저장합니다." let defaults = UserDefaults.standard defaults.set(userInput, forKey: "userInput") cs 먼저 저장할 값을 userInput이라 하고, defaults를 선언하여 값을 저장합니다. 이제 다른 곳에서 이를 불러와볼까요? 1 2 let defaults = UserDefaults.standard us.. 2019. 12. 8.
[Swift] 이미지에 Tint 색상 입히기 (programmatically) 얼마전 카탈리나로 맥북을 업데이트 한 뒤, Xcode를 11버젼으로 업그레이드했습니다. 다만 여전히 스토리보드 상에서 이미지에 대한 tint 설정은 먹히질 않는 것 같더군요. 이번 포스팅에서는 Button을 이미지화하고, 이 이미지에 tint color을 적용하는 방법에 대해 알아보겠습니다. 사실 너무나도 단순합니다. 그냥 코드로 tint color만 지정해주면 됩니다. 1 2 3 4 5 func imageTintColorSettings() { let image = UIImage(named: "myImage.png")?.withRenderingMode(.alwaysTemplate) btnBack.setImage(image, for: .normal) btnBack.tintColor = UIColor.whi.. 2019. 12. 8.
[Swift] Alert Controller 기본 사용법 이번 포스팅에서는 스위프트에서 Alert Controller을 사용하는 기본방법에 대해 알아보겠습니다. alert는 앱을 사용하다보면 흔히 볼 수 있는 일종의 팝업 또는 경고창으로, 다양한 방식으로 활용될 수 있습니다. 예를 들어 특정 권한을 요청하는 메시지를 alert에 띄워 유저에게 알릴 수도 있고, 게시글을 작성하는 화면에서 유저가 뒤로가기를 잘못 눌렀을 때, 한번 경고창을 띄움으로써 불상사를 막는 데 사용될 수도 있습니다. 아래 코드는 가장 기본적인 UIAlertController의 사용 예시로, button의 액션함수에 넣는 등 각종 트리거류 함수에 적용하여 사용하시면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 let alert = UIAlertController(tit.. 2019. 12. 7.