콩벌레 개발자의 개발 공부 노트
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) 네이버 지도 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
layoutMargins, UIEdgeInsets

layoutMargins, UIEdgeInsets

layoutMargins 뷰의 경계선과 컨텐츠 사이의 공간. 웹에서의 padding과 같은 역할. UIEdgeInsets 타입. 스토리보드에서 Editor -> Canvas -> Layout Rectangle을 통해 확인 가능. Constrain to margins 오토레이아웃을 margin에 맞출것인지, superView의 경계선에 맞출것인지를 체크하는 옵션 subView를 추가하고 constraints를 파란뷰의 constraints를 상하좌우 0,0,0,0으로 주면 superView인 붉은색 뷰의 margins를 기준으로 레이아웃이 잡힌것을 확인 constrain to margins를 끈채로 constraints를 상하좌우 0,0,0,0으로 주면 View의 경계선을 기준으로 레이아웃이 적용 UIEd..

  • format_list_bulleted iOS/앱 개발
  • · 2023. 2. 2.
  • textsms
iOS) 어디에서나 사용 할 수 있는 로딩 뷰 만들기

iOS) 어디에서나 사용 할 수 있는 로딩 뷰 만들기

각 화면마다 addSubView를 통해 로딩 뷰 화면을 일일히 붙여주는것은 너무 귀찮아서, 어떤식으로 하면 함수 하나를 호출하는 것만으로 로딩뷰를 띄울수 있을까 고민했습니다. 현재 생각나는 방법은 protocol의 extension을 이용해 현재 화면을 인자로 전달하고, addSubView로 화면을 추가하는 방법과 최상위뷰에 addSubView를 하여 화면을 추가하는 방법을 생각했습니다. 참고로 여기서 말하는 최상위 뷰는 아래의 view hierarchy에서 맨 앞에 위치한 뷰가 아닌, 가장 뒷쪽에 위치한 View를 말합니다. 왜 뒷쪽에 있는 view를 최상위뷰라고 하냐면 뷰를 추가하면 아래와 같이 최상위 뷰에서 뷰를 추가를 하면 아래 사진처럼 탑다운 형식이 되기에 가장 뒤에있는 뷰를 최상위 뷰라고 하는..

  • format_list_bulleted iOS/앱 개발
  • · 2023. 1. 31.
  • textsms
  • 1
  • ···
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
공지사항
카테고리
  • 분류 전체보기 (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기
  • #부트캠프
  • #swift
  • #2023
  • #edwith
  • #앱개발
  • #변경된 점
  • #uikit
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바