콩벌레 개발자의 개발 공부 노트
close
프로필 배경
프로필 로고

콩벌레 개발자의 개발 공부 노트

    • 분류 전체보기 (233)
      • 일상 (7)
        • 일상 이야기 (4)
      • Web (17)
        • Spring Boot (6)
        • CSS (3)
        • HTML (2)
        • JSP (0)
      • R (4)
      • Algorithm (88)
        • 백준 (67)
        • 프로그래머스 (19)
      • ICT COG Academy (8)
        • AI 기본 (8)
      • 계산이론 (6)
      • 데이터 베이스 (1)
      • IOT 네트워크 (1)
      • iOS (63)
        • RxSwift (2)
        • swift (15)
        • 앱 개발 (31)
        • 보안 (1)
        • UIKit (10)
        • SwiftUI (3)
      • 클린 아키텍처 (7)
      • 클린 코드 (3)
      • 컴퓨터 구조 (14)
      • 네트워크 (10)
      • 자료구조 (0)
      • 운영체제 (2)
      • 안드로이드 (0)
      • 개발 (0)
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록
iOS) 상단 탭바 구현 (1) - 메뉴바

iOS) 상단 탭바 구현 (1) - 메뉴바

iOS에서 탭바는 하단에 고정되어 있다. 상단 부분에 탭바를 만들고 싶다면, 직접 구현해야 한다. 라이브러리를 써도 되지만, 직접 구현하는 편이 성능상에도 좋을것 같고, 예상치 못한 버그를 수정하는데도 좋을것 같아서 직접 구현해보았다. UITabBarController의 공식문서에 나와있는 탭바의 view 계층 및 구현을 참고하여 구현했다. 상단 메뉴바 구현 상단 메뉴바는 화면을 전환하는 역할을 담당한다. 상단 탭바의 경우 버튼 스택뷰를 이용하거나, 콜렉션 뷰를 이용하여 탭바 안에 들어가는 ViewController의 개수에 따라 일정한 크기를 유지하도록 조절 할 수 있다. 나는 콜렉션 뷰를 활용했다. 메뉴바는 UIView에 콜렉션뷰를 넣고, 콜렉션 뷰의 하단에, 현재 위치를 표시해주는 하단바를 콜렉션 ..

  • format_list_bulleted iOS/앱 개발
  • · 2023. 3. 11.
  • textsms
UIButton 이미지 사이즈 조절

UIButton 이미지 사이즈 조절

이거때문에 3시간은 날린듯... UIButton에서 이미지를 조절하는 방법은 과거에는 contentInset같이 Inset을 조절하여 이미지 사이즈를 조절하는 방식이 있었지만, 지금은 업데이트 되면서 빠지게 되었다. 그래서 다른 방식으로 이미지를 조절해야 한다. 그 방법은 이미지 사이즈 자체를 조절하는 것. UIButton는 이미지의 크기대로 버튼 내부에 그릴 뿐. 따라서 image를 내가 원하는 사이즈로 resizing하면 된다. 이미지 리사이징 코드 import UIKit extension UIImage { func resizeImageTo(size: CGSize) -> UIImage? { UIGraphicsBeginImageContextWithOptions(size, false, 0.0) self...

  • format_list_bulleted iOS/앱 개발
  • · 2023. 3. 4.
  • textsms

iOS) 네이버 지도 API NMFMapView와 NMFNaverMapView

네이버 지도를 화면에 추가하는 방법은 크게 2가지 나뉨. 1. NMFMapView를 이용 2. NMFNaverMapView를 이용 NMFMapView와 NMFNaverMapView의 차이 및 기능 사용 공식 문서에 나와 있듯이 NMFMapView는 지도만 제공하는 객체이고, NMFNaverMapView는 지도와 지도와 관련된 UI 및 기능를 제공한다. 즉 NMFNaverMapView가 NMFMapView를 가지고 있다는 것. 따라어 NMFNaverMapView에서 카메라 이동, 줌 레벨 같은 지도 자체를 다루는 기능을 사용하려면, NMFNaverMapView에 있는 NMFMapView에 접근하여 사용해야 한다. lazy var mapView: NMFNaverMapView = { let mapView = ..

  • format_list_bulleted iOS/앱 개발
  • · 2023. 2. 25.
  • textsms

Failed to bind EAGLDrawable: <CAEAGLLayer: 0x6000033a66d0> to GL_RENDERBUFFER 1, Failed to make complete framebuffer object 8cd6 에러

문제 상황 : Naver Map API를 이용하여 화면 구성중, 지도가 화면에 보일 시 해당 오류가 발생. 그러나 실행 됨. 원인: 네이버 지도를 초기화 할 때, frame을 넣어서 생성한게 아닌, 단순 초기화 한 후, layout을 잡아서 발생. class RunningMap: UIView { lazy var nmap: NMFMapView = { let nmap = NMFMapView() nmap.translatesAutoresizingMaskIntoConstraints = false return nmap }() override init(frame: CGRect) { super.init(frame: frame) addSubview(nmap) setNmap() } required init?(coder: ..

  • format_list_bulleted iOS/앱 개발
  • · 2023. 2. 24.
  • textsms

Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior 오류

구글로그인에서 사용자에게 권환을 허용받으려고 Alert를 보여주려고 할 때 나온 오류 Alert가 보여지자 마자 바로 사라진다. 원인: viewDidLoad가 호출될 때 Alert가 보여지도록 코드를 짜놓았다. 즉 화면에 아직 View가 추가 되지 않은 상태에서 Alert를 보여주려 하니 생긴 오류. 해결책: 화면에 View가 추가되면 호출되는 메소드인 viewDidAppear에서 해당 코드가 실행 되도록 한다.

  • format_list_bulleted iOS/앱 개발
  • · 2023. 2. 9.
  • textsms
UICollectionViewLayout, UICollectionViewFlowLayout

UICollectionViewLayout, UICollectionViewFlowLayout

UICollectionViewLayout 콜렉션 뷰의 레이아웃 정의를 위한 추상 클래스. 직접 사용하기 위한것이 아닌 하위 클래스를 사용하기 위한 것 UICollectionViewFlowLayout UICollectionViewLayout을 상속받은 라인 기반 레이아웃 시스템 UICollectionViewFlowLayout 기본지식 CollectionView의 스크롤 방향에 따라 셀들을 스크롤 방향의 수직이 되도록 배치. 셀들을 배치 할 때 더이상 배치할 공간이 없으면 다음 줄로 넘어가서 배치. 이렇게 흐르듯이 셀들을 배치해 flowLayout이라함. Line Spacing : 줄들간의 간격 Inter-Item Spacing: 항목간의 간격 아래 사진은 레이아웃이 Vertical일때. Horizontal..

  • format_list_bulleted iOS/앱 개발
  • · 2023. 2. 8.
  • textsms
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
공지사항
카테고리
  • 분류 전체보기 (233)
    • 일상 (7)
      • 일상 이야기 (4)
    • Web (17)
      • Spring Boot (6)
      • CSS (3)
      • HTML (2)
      • JSP (0)
    • R (4)
    • Algorithm (88)
      • 백준 (67)
      • 프로그래머스 (19)
    • ICT COG Academy (8)
      • AI 기본 (8)
    • 계산이론 (6)
    • 데이터 베이스 (1)
    • IOT 네트워크 (1)
    • iOS (63)
      • RxSwift (2)
      • swift (15)
      • 앱 개발 (31)
      • 보안 (1)
      • UIKit (10)
      • SwiftUI (3)
    • 클린 아키텍처 (7)
    • 클린 코드 (3)
    • 컴퓨터 구조 (14)
    • 네트워크 (10)
    • 자료구조 (0)
    • 운영체제 (2)
    • 안드로이드 (0)
    • 개발 (0)
최근 글
인기 글
최근 댓글
태그
  • #IOS
  • #8기
  • #2023
  • #edwith
  • #uikit
  • #스탠포드 강의
  • #부트캠프
  • #앱개발
  • #swift
  • #변경된 점
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바