[Swift] UITableView Cell 밀어서 삭제
·
iOS/Swift
안녕하세요 욱승임다 ㅋ 좋은 주말보내고 계신가요? ㅎㅎ 이번포스팅에서는 UITableView Cell을 밀어서 삭제하는 동작을 구현해볼게요 예제 예제 코드 import Foundation import UIKit import SnapKit class SwipeToDeleteCellViewController: UIViewController, UIViewControllerAttribute { var navTitle: String? var lastContentOffset: CGFloat = 0.0 var tableViewArray: [Int] = [] lazy var tableView = UITableView().then { $0.delegate = self $0.dataSource = self $0.regis..
[Swift] ScrollView 스크롤 네비게이션바 hide On/Off
·
iOS/Swift
안녕하세요 욱승입니다. 이번 포스팅에서는 스크롤뷰를 이용한 네비게이션 바를 올렸다 내렸다 하는 작업을 구현해볼게염 ㅋ 이게 무슨소리냐.. 하믄 인스타그램만 봐도 피드형식의 홈화면은 스크롤을 내리면 네비게이션바가 숨겨지고 / 스크롤을 올리면 네비게이션바가 나타나고 이러한 방식이 필요한 이유? 사용자 경험 개선: 스크롤 네비게이션바를 숨기면 사용자는 화면에 더 많은 콘텐츠를 볼 수 있습니다. 특히, 작은 화면 크기를 가진 모바일 장치에서 스크롤 네비게이션바를 숨기면 콘텐츠 영역이 더 커져 사용자가 더 많은 내용을 스크롤하고 탐색할 수 있습니다. 디자인 요소 제어: 스크롤 네비게이션바를 숨기면 앱 또는 웹 페이지의 디자인 요소를 더욱 강조할 수 있습니다. 스크롤 네비게이션바가 콘텐츠와 함께 계속 보이면 시각적..
[Swift] UITabbar, 하단 탭바 구현
·
iOS/Swift
안녕하세요 욱승입니다. 앱을 만들다보면 불가피하게 UITabbar를 활용해서 만드는 경우가 많은데 그러므로 이번 포스팅에선 간단하게 UITabbar를 구현 해보겠습니당 UITabbar란? UITabbar는 iOS 애플리케이션에서 사용되는 UI 요소 중 하나입니다. 탭 바(tab bar)라고도 불리며, 일반적으로 화면 하단에 위치합니다. 탭 바는 일반적으로 사용자가 애플리케이션 내에서 다른 섹션으로 이동할 수 있는 여러 탭을 제공합니다. 각 탭은 대개 해당 섹션의 기능 또는 내용을 설명하는 아이콘과 제목을 포함합니다. 탭 바는 일반적으로 애플리케이션의 주요 섹션을 표시하기 위해 사용되며, 사용자가 특정 섹션으로 쉽게 이동할 수 있도록 도와줍니다. 예를 들어, 메시징 앱에서는 탭 바에 '메시지', '채팅',..
[iOS] Background, Inactive(Foreground) 진입시 화면가리기
·
iOS/Swift
안녕하세요 욱승입니다. 해당 주제 관련은 보통 금융앱에서 많이 쓰이는데요 Background 혹은 Inactive상태가 됐을때 앱이 이미지 혹은 가려질 문구나 화면으로 가려지는 상태를 말합니다. 앱 생명주기를 아직 모른다면 ..! AppDelegate, SceneDelegate를 먼저 숙지바랍니다! [iOS 앱개발] iOS 앱의 상태변화에 따른 AppDelegate, SceneDelegate 메서드 안녕하세요 Pingu입니다.🐧 오늘은 iOS에서 앱의 생명주기에 따라 호출되는 AppDelegate 메서드들을 알아볼 계획입니다. iOS 13 이후부터는 SceneDelegate가 생겨나서 AppDelegate가 하는 일들을 대체하는 메 icksw.tistory.com 해당 게시글은 iOS13이상 기준으로 작..
[Swift] print와 dump차이, 콘솔에 로그찍기 Console Log
·
iOS/Swift
안녕하세요 욱승입니다. 이번 포스팅에선 콘솔에 로그 찍는 방법을 알아보겠읍니다 'print', 'dump'디버깅 목적으로 사용되는 Swift의 내장 함수입니다. Swift에서 콘솔에 로그를 출력하는 방법은 두가지가 있습니다. print dump print vs dump print - 콘솔 출력에 변수, 상수 및 표현식의 값을 인쇄하는 함수입니다. 디버깅 목적으로 콘솔에 메시지를 표시하는 간단하고 빠른 방법입니다. dump - 개체의 구조와 내용에 대한 자세한 설명을 인쇄합니다. 클래스, 구조체 및 배열과 같은 복잡한 개체를 검사하는 데 사용할 수 있습니다. 예제1 import Foundation import UIKit final class GameCenterViewController: UIViewCont..
[Swift] API 가이드라인
·
iOS/Swift
스위프트 API 가이드라인 스위프트 API 가이드라인. GitHub Gist: instantly share code, notes, and snippets. gist.github.com
[Swift] 메모리 관리 이미지 리사이징 ImageIO, VM: ImageIO_PNG_Data
·
iOS/Swift
안녕하세요 욱승입니다. 요새 토이 프로젝트를 진행중인데 메모리 관련해서 이슈가 생겼는데 남겨두면 좋을것 같아서 포스팅 해봅니다! (태클 환영) 그럼 우선 결과부터 보면 이러함 프로젝트 진행중 메모리가 기하급수적으로 증가하는걸 볼수 있는데 이것은 서버에서 불러오는 이미지 크기 및 해상도와 ImageView의 해상도 이미지 크기 및 해상도가 맞지않아 억지로 끼워넣고 원본이미지는 파일 크기가 너무 커 메모리가 기하급수적으로 증가하는 것. 그래서 이미지 리사이징이 필요한데 이미지 리사이징이란? 이미지가 커서 메모리를 많이 잡아먹다보면 메모리 부족으로 앱이 죽어버리는 경우가 생긴다고해요. 이러한 현상을 줄이고자 이미지 사이즈를 줄여 다시 만들어내는데 이것을 이미지 리사이징이라고 해요! 이미지작업을 위해서 사용할 ..
[Swift] App Version정보 가져오기
·
iOS/Swift
안녕하세요 욱승입니다. 이번포스팅 에선 App version을 가져오는 함수를 구현해보겠습니다. var version: String? { guard let dictionary = Bundle.main.infoDictionary, let version = dictionary["CFBundleShortVersionString"] as? String else {return nil} return version //1.0.0 } var build: String? { guard let dictionary = Bundle.main.infoDictionary, let build = dictionary["CFBundleVersion"] as? String else {return nil} return build //1 }
[Swift] privacy-sensitive 에러 메시지 ImagePicker 이슈
·
iOS/Swift
안녕하세요 욱승입니다. 오늘은 privacy-sensitive 에러시 해결방안을 알아보겠습니다. 우선 오류 메시지 해결방안 => Info.plist에 Privacy - Photo Library Usage Description에 내용을 넣어줘야함 (앱이 사진에 접근하려는데 허용 하겠냐는 팝업에 대한 Description) 혹은
[Swift] defer 문이란?
·
iOS/Swift
안녕하세요 욱승입니다. 이번 포스팅에선 defer 블록에대해 알아보겠습니다. defer 블록은 함수나 메소드에서 코드의 흐름과 상관없이 가장 마지막에 실행되는 블록입니다. 지연 블록이라고 부르기도 하는 이 블록에 작성된 구문은 작성된 위치에 상관 없이 항상 함수의 종료 직전에 실행되기 때문에, 종료 시점에 맞추어 처리해야 할 구문이 있다면 우리는 어디에작성해야 할지 고민하지 않고 defer 블록에 넣어두기만 하면 됩니다. 실제로 이 블록은 함수에서 사용된 각종 리소스의 처리나 해제, 연결 종료 등의 구문을 처리하는 용도로 유용하게 사용됩니다. defer 특성 1. defer 블록은 작성된 위치와 순서에 상관없이 함수가 종료되기 직전에 실행된다. 2. defer 블록을 읽기 전에 함수의 실행이 종료될 경우..
[Swift] Left side of mutating operator isn't mutable: 'count' is a 'let' constant, In-out 파라미터 사용 방법
·
iOS/Swift
안녕하세요 욱승입니다. 이번시간에는 In-out 파라미터에 대해 알아보겠습니다. 오류 캡쳐본 원인 전달받은 파라미터를 함수 내부에서 변경하려고 시도하면 컴파일 에러가 발생함. Swift에서 전달받은 파라미터는 상수(let)으로 취급하기 때문. 해결방안 inout 키워드를 사용하면 전달받은 파라미터를 함수 내부에서 변경할수 있음 ! 예제코드 차이가 보이시나요? 1. 호출부 변수 앞에 '&' 2. 함수 타입 앞 inout 이런식으로 함수 내부에서 전달받은 파라미터 값을 변경할 수 있습니다!
[Swift] Set 집합 기본 집합 연산 정리
·
iOS/Swift
안녕하세요 욱승입니다. 이 포스팅에선 Set의 기본 집합 연산 정리에 대해 알아보겠습니다. 예제코드 var oddDigits : Set = [1, 3, 5, 7, 9] // 홀수 집합 let evenDigits : Set = [0, 2, 4, 6, 8] // 짝수 집합 let primeDigits : Set = [2, 3, 5, 7] // 소수 집합 oddDigits.intersection(evenDigits).sorted() // [] oddDigits.symmetricDifference(primeDigits).sorted() // [1, 2, 9] oddDigits.union(evenDigits).sorted() //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] oddDigits.subtra..
욱승
'iOS/Swift' 카테고리의 글 목록 (2 Page)