감자주먹밥
close
프로필 배경
프로필 로고

감자주먹밥

  • 분류 전체보기 (89)
    • iOS (67)
      • Swift (14)
      • RxSwift (2)
      • UIKit (35)
      • SwiftUI (10)
      • Test (4)
    • 코퉤엣 (12)
    • Git (2)
    • Android (8)
  • 홈
  • 태그
  • iOS
  • Github
  • 방명록
Pinit 셀 재사용 이슈

Pinit 셀 재사용 이슈

발생했던 문제Pinit 에서는 이미지가 있을때는 그대로 보여주고, 이미지가 없다면 기록한 위치의 지도를 스냅샷으로 보여준다.여기서 문제가 발생했다.이미지는 저장된걸 바로 보여주지만, 스냅샷은 주소만 보내주고 셀에서 스냅샷 이미지를 로드하기에 몇 초 더 지연시간이 생긴다.이때 셀이 엄청 많을때 스크롤을 하면, 재사용 때문에 이전에 사용된 이미지 또는 스냅샷이 먼저 보이고 나중에 제대로 된 스냅샷으로 갈아끼워지는 문제가 있었다.문제점 파악문제점은 역시 셀 재사용 매커니즘을 제대로 이해못하고 지연시간을 고려하지 않았기 때문이다.셀이 재사용 될 때 이전 데이터를 그대로 들고 있다는 것 역시 인지하지 못했기 때문에 일어난 문제였다.셀이 화면에서 사라지면 셀 자체가 지워지지 않고 이전 데이터 그대로 Reusable..

  • format_list_bulleted iOS/UIKit
  • · 2025. 6. 25.
  • textsms
☝️커스텀 바텀시트 구현 + PanGesture 로 바텀시트 같은 인터렉션 만들기

☝️커스텀 바텀시트 구현 + PanGesture 로 바텀시트 같은 인터렉션 만들기

GitHub - EST-iOS-TEAM2/Pinit: ESTSoft 2차 팀프로젝트ESTSoft 2차 팀프로젝트. Contribute to EST-iOS-TEAM2/Pinit development by creating an account on GitHub.github.com 바텀시트 만들어보기탭바를 가리지 않으면서 바텀시트를 홈화면에서 상시운용을 하려는데, 간단한 방법들로는 불가능한거 같아 직접 바텀시트를 만들게 됐다!물론 검색해보면 엄청난 방법으로 만드는분도 있었지만, 이 프로젝트엔 간단하게만 사용되기에 만드는 방법만 좀 알아보고 적용해봤다. 바텀시트로 사용될 Viewfinal class CustomBottomSheet: UIView { var collectionView = UICollection..

  • format_list_bulleted iOS/UIKit
  • · 2025. 6. 12.
  • textsms
🌐 MapKit의 마커에 클러스터를 사용해보자!

🌐 MapKit의 마커에 클러스터를 사용해보자!

GitHub - EST-iOS-TEAM2/Pinit: ESTSoft 2차 팀프로젝트ESTSoft 2차 팀프로젝트. Contribute to EST-iOS-TEAM2/Pinit development by creating an account on GitHub.github.com 맵킷 사용해보자!Mapkit의 기본기능만을 활용해 어노테이션 + 클러스터를 구현했다.처음에는 마커 이미지도 커스텀으로 적용했지만, 다른뷰에서 이미 기본마커로 구현을 했기에...Home 화면의 지도 역시 기본마커로 만들기로 했다. 클러스터 마커 생성하기클러스터 마커를 생성하는건 기본 마커 커스텀을 하는 방법과 유사하다 (아예 똑같기도 하다)MKMarkerAnnotationView 를 상속받아 구현해주면 된다.final class Cus..

  • format_list_bulleted iOS/UIKit
  • · 2025. 6. 12.
  • textsms

📦공통된 CollectionView 재사용을 위한 Adpater 패턴 적용기

GitHub - EST-iOS-TEAM2/Pinit: ESTSoft 2차 팀프로젝트ESTSoft 2차 팀프로젝트. Contribute to EST-iOS-TEAM2/Pinit development by creating an account on GitHub.github.com UI 재사용에 대한 고민Home, PastPin, Setting에 들어가는 데이터나 동작이 동일하기에 이를 통합해 재사용할 방법을 고민했다.어댑터 패턴collectionView 서브클래싱 서브클래싱이 가장 익숙한 방식이었지만, 어댑터 패턴을 선택했다.그 이유는 데이터가 setting 화면에서는 동일하지 않을 수 있고, 그에따른 확장이 필요한 경우,datasource나 delegate를 기본을 사용하면서도 다른 동작이 필요할 때 따로 ..

  • format_list_bulleted iOS/UIKit
  • · 2025. 4. 25.
  • textsms
[UIKit] CollectionView Cell 에 cornerRadius & shadow 같이 적용하기

[UIKit] CollectionView Cell 에 cornerRadius & shadow 같이 적용하기

Cell을 생성하고 conerRadius, shadow를 같이 적용해서 실행해보니 제대로 적용되지 않는 문제를 겪었다.문제점cornerRadius를 적용할땐 clipsToBound를 true로 해줘야하고,shadow를 적용할 땐 masksToBounds 를 false로 해줘야한다. 이 두가지를 하나의 뷰에서 하면 안되는것이다!먼저 실행된 기능만 적용되고 후에 적용한것은 되지도 않는다. 그럼 어떻게 할까?해결먼저 해결한 화면을 보자.하나의 뷰에 두가지 기능을 사용할 수 없으니 2개의 뷰를 사용해 각각 적용하는 방식을 선택했다. Cell의 경우 기본적으로 ContentView가 존재하기 때문에...1. ImageView에 cornerRadius 적용2. contentView에 shadow 적용 그리고 con..

  • format_list_bulleted iOS/UIKit
  • · 2025. 3. 4.
  • textsms
[UIKit] TableView Dynamic Height 사용하기

[UIKit] TableView Dynamic Height 사용하기

다음과 같은 화면을 섹션을 나눠서 TableView로 만들었는데 리뷰가 길거나 영화 제목?이 길면 그에따라 셀도 커졌으면 좋겠는데.. 하니까 바로 Dynamicheight를 설정할 수 있는걸 알고 사용한걸 정리해보았다.Dynamic Height in TableView tableView = UITableView(frame: view.bounds, style: .insetGrouped)// dynamic height 설정tableView.rowHeight = UITableView.automaticDimension// 대략적인 높이를 설정해줘야함tableView.estimatedRowHeight = 300설정은 간단하다 추가로 대략적인 높이를 설정해줘야한다. Cell 설정도 어렵지 않았다.class Movie..

  • format_list_bulleted iOS/UIKit
  • · 2025. 3. 4.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 6
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (89)
    • iOS (67)
      • Swift (14)
      • RxSwift (2)
      • UIKit (35)
      • SwiftUI (10)
      • Test (4)
    • 코퉤엣 (12)
    • Git (2)
    • Android (8)
최근 글
인기 글
태그
  • #Kotlin
  • #SWIFT
  • #코딩테스트
  • #swiftUI
  • #tableView
  • #백준
  • #UIKit
  • #android
  • #ios
  • #programmers
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바