Swift(스위프트): UITextField의 숫자 패드(Number Pad)에 완료 버튼 달기 (스토리보드)

텍스트 필드 (UITextField)를 스토리보드에서 숫자 패드(Number Pad)만 나오게 설정할 수 있습니다.   이 패드의 문제점은 아래 그림 완료(엔터) 버튼이 없다는 점입니다. 완료 버튼이 없으므로 추가 설정이 없다면 어떤 방법으로도 키보드를 사라지게 할 수 없습니다. 해결 방안으로 일정 자리수가 입력되면 숫자 패드를 사라지게 하기 숫자 패드 위에 [완료] 버튼 달기   더보기…

Swift(스위프트): 코어 데이터(Core Data) CRUD 기초 (UIKit에서)

Core Data란? Core Data를 통해 iOS, macOS 등의 애플리케이션 내에 오프라인으로 데이터를 저장할 수 있습니다. 다음은 Core Data의 소개글입니다. Core Data는 macOS 및 iOS 운영 체제에서 Apple이 제공하는 객체 그래프 및 지속성(persistence) 프레임워크입니다. 관계형 엔터티 속성 모델로 구성된 데이터를 XML, 바이너리 또는 SQLite 저장소로 직렬화할 수 있습니다. 엔터티 및 해당 더보기…

iOS 프로그래밍: 스크롤 뷰(Scroll View) 사용방법 (스토리보드)

1) 뷰 컨트롤러에 Scroll View 를 추가합니다.   2) 스크롤 뷰를 원하는 위치에 놓은 뒤 Add New Constraint로 상하좌우 제약(constraint)를 지정합니다. (빨간색 선 부분)   3) 제약을 지정하면 아래와 같이 빨간색 선이 나타납니다.   4) 스크롤 뷰 안에 뷰(View)를 추가합니다. 뷰가 스크롤 뷰 안에 위치해야 합니다.   5) View의 상하좌우 더보기…

iOS 앱 포트폴리오: 디퓨저 스틱 (Diffuser Stick) 애플 앱스토어 출시 📱- 디퓨저 스틱 교체주기 관리 앱

제가 만든 Diffuser Stick 이라는 앱이 애플 앱스토어에 출시되었습니다. DiffuserStick (디퓨저 스틱) 사용 도구 Swift, Xcode   앱스토어 링크 https://apps.apple.com/kr/app/diffuserstick/id1578285458 (모든 국가 출시)   깃허브 링크 https://github.com/ayaysir/iOS-DiffuserStick/   제작 시기 버전 1.0 – 2021.7.13 ~ 2021.7.27   특징 및 사용 기술 애플 앱스토어의 검수에 통과하였습니다. Core Data로 오프라인 데이터 관리 더보기…

Swift (스위프트): 사진 라이브러리, 카메라 사용 (스토리보드)

info.plist에서 권한 허용을 묻는 메시지를 설정합니다.   사진을 표시하고자 하는 뷰 컨트롤러 안에 이미지 피커 컨트톨러를 생성합니다. // 사진: 이미지 피커 컨트롤러 생성 let imagePickerController = UIImagePickerController()   viewDidLoad에 컨트롤러와 delegate를 연결합니다. 또한 앱을 최초로 실행했을 때 권한 허용 여부를 묻는 메시지를 출력하는 코드를 작성합니다. (import Photos 필요) override func 더보기…

Swift(스위프트): 피커뷰(Picker View)를 이용해 폰트(글꼴) 리스트 불러오기 (iOS, 스토리보드)

1) 스토리보드에 폰트를 선택할 피커뷰(picker view)와 미리보기 할 레이블을 배치합니다.   2) 다음 IB(InterfaceBuilder) Outlet 연결을 통해 컨트롤러에 UI 컴포넌트를 연결합니다. class SettingViewController: UIViewController { @IBOutlet weak var lblFontExample: UILabel! @IBOutlet weak var pkvAvailableFontList: UIPickerView! //….// }   3) 폰트 목록을 저장할 배열을 생성합니다. // 폰트 리스트의 이름들 저장 배열 더보기…

Swift(스위프트): 프로퍼티 리스트(property list; plist) 읽어오기

출처: Swift 5: How to read variables in plist files?   아래와 같은 plist(property list) 확장자의 파일이 있고 이 파일은 프로젝트의 루트 폴더에 있습니다. <?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”> <plist version=”1.0″> <dict> <key>animals</key> <array> <dict> <key>name</key> <string>Tiger</string> <key>picture</key> <string>tiger_running</string> </dict> <dict> <key>name</key> <string>Jaguar</string> <key>picture</key> <string>jaguar_sleeping</string> 더보기…

iOS 앱을 위한 다양한 오프라인 옵션

원문: The Many Offline Options for iOS Apps   오프라인 모드는 더 이상 앱에 추가하도록 선택할 수 있는 추가 기능이 아닙니다. 많은 사용자가 기대하는 것입니다. 저는 개발자들이 더 나은 방법으로 해결할 수 있는 문제에 대해서 (본인들이) 선호하는 오프라인 솔루션(Core Data)을 강요하는 것을 종종 보았습니다 . 앱이 오프라인에서 작동하도록 하는 방법에는 더보기…

자바스크립트 예제: 텍스트에서 유튜브(YouTube) URL을 감지하고 해당 URL을 자동으로 플레이어로 전환

이 예제는 아래와 같이 게시판 등에서 글을 작성할 때 유튜브 주소를 추가하면, 해당 주소에서 유튜브 동영상 ID를 추출한 후 iframe 플레이어 형태로 변환합니다.   1. 텍스트에서 유튜브 URL을 가져오는 정규표현식을 작성합니다. // 유튜브 URL 찾는 패턴 const youtubeUrl = /(http:|https:)?(\/\/)?(www\.)?(youtube.com|youtu.be)\/(watch|embed)?(\?v=|\/)?(\S+)?/g 이렇게 하면 아래와 같이 유튜브 주소를 찾을 수 있습니다.   더보기…

리액트(React): 모달 팝업시 뒷배경(오버레이) 스크롤 되지 않게 하기

body 태그의 css를 변경합니다. position을 fixed로 하고, top의 위치를 현재 스크롤 위치로 설정한 뒤 overflow-y: scroll; width: 100%; 을 추가 지정하면 스크롤바로 인해 배경의 위치가 움직이지 않고도 스크롤 방지를 할 수 있습니다. useEffect를 사용해 css를 변경하며, 모달이 사라질 때에는 useEffect의 return을 사용해 body의 cssText를 리셋시킨 다음 window,scroll을 이용해 현재 스크롤 위치로 더보기…