iOS 앱 개발을 하다 보면 특정 뷰(View)의 상단과 하단에 테두리 선을 넣어야 하는 경우가 종종 있습니다. 이번 글에서는 CALayer를 활용해 UIView의 위아래에 테두리를 손쉽게 추가하는 방법을 단계별로 알아보겠습니다.프로젝트 준비하기1단계: 새 프로젝트 생성Xcode를 실행한 뒤 New Project → Single View Application을 선택하고, 프로젝트 이름을 AddBorderTopAndBottom으로 지정합니다.2단계: 스토리보드에 UIView 추가Main.storyboard 파일을 열고 아래 이미지처럼
Swift에서 텍스트 필드 비어 있음 여부 확인하기 Swift에서 텍스트 필드(UITextField)가 비어 있는지 확인하는 것은 매우 간단합니다. 핵심은 두 단계로 나누어 생각하는 것입니다. 먼저 텍스트 필드에 텍스트 값이 존재하는지(nil이 아닌지) 확인하고, 값이 존재한다면 그 텍스트가 실제로 비어 있는지 검사해야 합니다. myTextField를 텍스트 필드 변수라고 가정하면, 다음과 같이 작성할 수 있습니다. if let text = myTextField.text, !text.isEmpty {  
이번 포스트에서는 iOS 앱에서 버튼(Button)을 자유롭게 커스터마이징하는 방법을 알아보겠습니다. 스토리보드(Storyboard)를 활용하는 방법과 코드로 직접 설정하는 방법, 총 두 가지 방식을 단계별로 살펴봅니다.프로젝트 준비하기1단계 – Xcode를 실행한 뒤 New Project → Single View Application을 선택하고, 프로젝트 이름을 CustomiseButton으로 지정합니다.2단계 – Main.storyboard 파일을 열고 아래 그림과 같이 버튼 하나를 화면에 배치합니다. 이 버튼을 대상으로 커스터
iOS에서 WebView의 스크롤을 비활성화하는 방법은 생각보다 훨씬 간단합니다. iOS는 WebView의 scrollView 속성을 외부로 노출하고 있기 때문에, 해당 scrollView의 스크롤 기능만 꺼주면 됩니다.webView.scrollView.isScrollEnabled = false위 코드 한 줄이면 WebView에서 스크롤이 더 이상 작동하지 않습니다. 단순히 스크롤만 막고 싶다면 이 코드면 충분하지만, 처음부터 WebView를 로드하고 스크롤을 비활성화하는 전체 과정을 알고 싶다면 아래 순서를 따라가 보세요.예제 프
이번 포스트에서는 CoreLocation 프레임워크를 활용해 두 지리적 위치 사이의 거리를 계산하는 방법을 알아보겠습니다.최종 결과물은 두 지점 사이의 거리를 화면의 레이블(Label)에 표시하는 형태입니다. 아래 단계를 순서대로 따라 해 보세요.프로젝트 설정1단계: 새 프로젝트 생성Xcode를 실행한 뒤 New Project → Single View Application을 선택하고, 프로젝트 이름을 FindDistance로 지정합니다.2단계: UI 구성Main.storyboard를 열고 아래 이미지와 같이 레이블 두 개를 화면에
이번 포스트에서는 iOS 앱에서 배터리 상태와 잔량을 실시간으로 가져오는 방법을 단계별로 알아보겠습니다. UIDevice 클래스가 제공하는 배터리 모니터링 기능을 활용하면 충전 중인지, 방전 중인지, 배터리가 가득 찼는지 등의 정보를 손쉽게 얻을 수 있습니다.프로젝트 준비하기1단계 – Xcode를 실행하고 New Project → Single View Application을 선택한 후, 프로젝트 이름을 BatteryState로 지정합니다.2단계 – Main.storyboard 파일을 열고 아래 이미지와 같이 레이블(Label) 두
이번 포스트에서는 Swift를 사용해 iOS 기기 화면의 터치 위치를 얻는 방법을 단계별로 알아보겠습니다.그럼 바로 시작해 보겠습니다.1단계: 프로젝트 생성Xcode를 실행한 뒤 New Project → Single View Application을 선택하고, 프로젝트 이름을 TouchMe로 지정합니다.2단계: 레이블 추가Main.storyboard를 열고 아래 그림과 같이 레이블(Label) 하나를 추가합니다. 이 레이블에 터치된 위치의 좌표를 표시하게 됩니다.3단계: IBOutlet 연결추가한 레이블에 대한 @IBOutlet을 생
이 글에서는 iOS 앱에서 빌드(Build) 번호와 버전(Version) 번호를 가져와서 화면에 표시하는 방법을 단계별로 알아보겠습니다.1단계: 프로젝트 생성Xcode를 실행한 후 New Project → Single View Application을 선택하고, 프로젝트 이름을 ShowBuildAndVersion으로 지정합니다.2단계: 스토리보드에 레이블 추가Main.storyboard를 열고 아래 이미지처럼 두 개의 UILabel을 추가합니다. 하나는 버전 번호를, 다른 하나는 빌드 번호를 표시하는 용도로 사용합니다.3단계: IBO
이번 글에서는 Swift를 사용해 iOS 앱에서 프로그래밍 방식으로 전화를 거는 방법을 단계별로 알아보겠습니다. 생각보다 간단한 코드 몇 줄만으로 통화 기능을 구현할 수 있으니, 차근차근 따라와 보세요.프로젝트 설정하기1단계 – 새 프로젝트 생성Xcode를 실행하고 New Project → Single View Application을 선택한 뒤, 프로젝트 이름을 MakeCall로 지정합니다.2단계 – UI 구성Main.storyboard 파일을 열고 아래 이미지처럼 텍스트 필드 하나와 버튼 하나를 화면에 배치합니다. 텍스트 필드에는
iOS 전화번호를 코드로 가져올 수 있을까?결론부터 말하자면, 프로그래밍 방식으로 iOS 기기의 전화번호를 가져오는 것은 사실상 불가능합니다. Apple은 개발자가 기기의 전화번호에 접근하는 것을 공식적으로 지원하지 않으며, 이를 권장하지도 않습니다.비공개 API 사용 시 앱이 거절됩니다비공개(Private) API를 활용하면 기술적으로 전화번호를 읽어올 수는 있습니다. 하지만 Apple의 심사 정책상 비공개 API를 사용한 앱은 App Store 심사에서 반드시 거절(reject)됩니다. 따라서 정식 배포를 목표로 하는 앱에서는
iOS 개발을 하다 보면 앱 내부에서 웹 콘텐츠를 표시해야 하는 상황을 자주 마주하게 됩니다. 이때 사용하는 것이 바로 WebView입니다.Apple의 공식 정의에 따르면, WebView는 인앱 브라우저처럼 상호작용 가능한 웹 콘텐츠를 화면에 표시하는 객체입니다. 즉, 앱 안에서 웹사이트나 HTML 콘텐츠를 손쉽게 보여줄 수 있도록 도와주는 강력한 도구라고 할 수 있습니다.이번 포스트에서는 Swift를 활용해 WKWebView를 생성하고, 원하는 URL의 데이터를 로드하는 방법을 단계별로 자세히 알아보겠습니다.Swift로 WebVi
iOS 개발에서 특정 뷰(View)의 크기(가로·세로 길이)를 확인하는 것은 매우 간단합니다. 이 글에서는 Swift 코드를 활용해 iOS 앱 내 뷰의 크기를 가져오는 방법을 단계별로 살펴보겠습니다.뷰 크기 구하기: 단계별 진행1단계 – Xcode 프로젝트 생성Xcode를 실행하고 Single View Application 템플릿으로 새 프로젝트를 생성한 뒤, 프로젝트 이름을 SampleView로 지정합니다.2단계 – 스토리보드에 UIView 추가Main.storyboard 파일을 열고 아래 이미지와 같이 화면에 UIView 객체를
iOS 개발에서 CollectionView와 TableView는 모든 개발자가 반드시 숙지해야 할 핵심 개념입니다. 좋은 iOS 개발자가 되기 위해서는 두 가지를 모두 능숙하게 다룰 수 있어야 합니다.이 글에서는 특히 CollectionView에 초점을 맞춰 살펴보겠습니다. CollectionView는 TableView와 유사하지만 몇 가지 중요한 차이점이 있습니다. 가장 큰 특징은 격자(grid) 형태의 레이아웃을 지원하며, 수평 및 수직 스크롤을 모두 사용할 수 있다는 점입니다. 안드로이드의 GridView와 비슷한 역할을 한다
iOS 앱을 개발하다 보면 내비게이션 바(Navigation Bar)의 텍스트 색상을 변경해야 하는 경우가 자주 있습니다. 처음에는 다소 까다로워 보이지만, 몇 줄의 코드만으로도 손쉽게 구현할 수 있습니다. 이 글에서는 Swift를 사용해 내비게이션 바의 타이틀 텍스트 색상을 변경하는 방법을 단계별로 알아보겠습니다.1. 뷰 컨트롤러를 내비게이션 컨트롤러에 포함하기먼저 스토리보드에서 해당 뷰 컨트롤러를 내비게이션 컨트롤러(Navigation Controller)에 임베드(Embed)합니다. 그런 다음 해당 뷰 컨트롤러의 내비게이션 아
iOS 화면 밝기를 코드로 조절하는 방법iOS 앱에서 화면 밝기를 변경하려면 UIScreen의 brightness 속성을 사용해야 합니다. 이 속성은 메인 스크린(main screen)에서만 지원되며, 값은 반드시 0.0부터 1.0 사이의 숫자(양 끝값 포함)로 지정해야 합니다.밝기 변경이 유지되는 방식앱을 통해 변경한 밝기는 기기가 잠길 때까지 유지됩니다. 앱이 종료되더라도 설정된 밝기는 그대로 적용됩니다. 다음으로 디스플레이가 켜질 때는 사용자가 설정 앱이나 제어 센터에서 지정한 시스템 기본 밝기로 자동 복원됩니다.구현 방법br
iOS 개발을 처음 접하는 분들에게 UIAlertController의 이해와 구현은 다소 까다롭게 느껴질 수 있습니다. 이번 글에서는 사용자가 알림 창 바깥 영역을 탭했을 때 해당 알림이 자동으로 닫히도록 만드는 방법을 단계별로 살펴보겠습니다.이번 예제에서는 표시할 메시지와 선택 가능한 액션(action)을 구성할 수 있는 UIAlertController 클래스를 사용합니다. 원하는 액션과 스타일로 알림 컨트롤러를 구성한 뒤에는 present(_:animated:completion:) 메서드를 호출해 화면에 띄우면 됩니다. UIKi
피커 뷰(Picker View)는 사용자가 휠을 돌려 항목을 선택할 수 있도록 하나 이상의 회전판을 화면에 표시하는 UI 컴포넌트입니다. 각 휠은 컴포넌트(component)라고 부르며, 선택 가능한 항목들이 인덱스가 붙은 행(row) 형태로 나열되어 있습니다.UIPickerView는 iOS 개발에서 가장 많이 사용되는 핵심 컴포넌트 중 하나입니다. 특히 사용자에게 과목, 지역, 옵션 등을 고르게 하는 폼 기반 애플리케이션에서 자주 활용됩니다.공식 문서는 Apple 개발자 사이트에서 확인할 수 있습니다: https://develop
Swift의 Date 객체 이해하기Swift에서 Date 값은 특정 달력 시스템이나 시간대와 독립적인 하나의 시점(point in time)을 나타냅니다. 즉, Date 값은 절대 기준일(absolute reference date)로부터 상대적인 시간 간격으로 표현되며, 어떤 지역 설정과 무관하게 동일한 순간을 가리킵니다.날짜에 1일 추가하는 방법iOS 개발에서 날짜에 하루를 더하는 작업은 생각보다 간단합니다. 핵심은 Calendar 클래스의 date(byAdding:to:) 메서드를 활용하는 것입니다.Playground에서 실습하
iOS 기기 고유 ID란 무엇인가?UDID(Unique Device Identifier)는 iOS 기기를 고유하게 식별하기 위한 40자리 16진수 문자열입니다. 과거에는 이 UDID를 통해 각 기기를 구분할 수 있었습니다.UDID가 사라진 이유하지만 iOS 5부터 Apple은 UIDevice의 고유 식별자(uniqueIdentifier)를 공식적으로 지원 중단(deprecated)했습니다. 즉, 기존 방식으로는 더 이상 진짜 고유 ID를 얻을 수 없게 된 것입니다.이에 따라 Apple은 개인정보 보호를 강화하면서, 대신 벤더별 식별
iOS에서 둥근 모서리 TableView 만들기테이블뷰(Table View)는 iOS 애플리케이션을 구성하는 가장 중요하고 기본적인 요소 중 하나로, 모든 iOS 개발자라면 반드시 익숙해져야 하는 UI 컴포넌트입니다.실제로 앱스토어에서 볼 수 있는 거의 모든 앱이 테이블뷰를 활용하고 있습니다.iOS의 테이블뷰는 세로로 스크롤되는 단일 열의 콘텐츠를 행(row) 단위로 나누어 표시하며, 각 행에는 앱 콘텐츠의 한 조각이 담깁니다. 예를 들어 연락처 앱은 각 연락처의 이름을 별도의 행으로 보여주고, 설정 앱의 메인 화면은 사용 가능한