본문 바로가기

전체보기134

[Swift🍎] CollectionView 뜯어보기 1.  기본적인 컬렉션뷰의 구조와 사용class ViewController: UIViewController { //콜렉션뷰 선언 var collectionView: UICollectionView! //데이터 배열 let data = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"] override func viewDidLoad() { super.viewDidLoad() //1. 콜렉션뷰 레이아웃 설정 (기본적인 그리드 레이아웃) let layout = UICollectionViewFlowLayout() layout.itemSize = CGSize(width: 100, height: 100.. 2024. 9. 5.
[오류] UIButton 내부의 image 크기 조절 인스타그램의 좋아요 버튼처럼 UIButton을 image로 설정할 때가 종종 있다이번 프로젝트에서 버튼을 만들었는데, 버튼에 텍스트 없이 이미지로만 설정을 했고 크기를 키우려고 했는데 크기가 안 키워지는 이슈 발생🥲  하이어라키로 보면 버튼의 레이아웃 사이즈만 늘어나고 이미지인 하트는 크기가 변경되지 않은 모습을 볼 수 있다  먼저 버튼의 contentMode 를 scaleAspectFit으로 설정했다 • scaleAspectFit: 이미지의 원래 비율을 유지하며, 뷰의 크기에 맞추어 이미지가 축소 또는 확대된다 (=여백이 생길 수 있다) • scaleToFill: 이미지가 뷰의 크기에 정확히 맞도록 조정되지만, 이미지의 원래 비율이 유지되지 않는다 → 실패   두번째로 이미지의 엣지 인셋을 .zero.. 2024. 8. 30.
[오류] UITableViewCell에 UICollectionView 추가 오류 테이블뷰 셀에다가 컬렉션뷰를 넣어야 하는데, 슈퍼뷰에 정상적으로 추가되지 않는다는 오류가 발생했다  코드를 보면 제일 처름에 컬렉션뷰가 계산 프로퍼티로 선언되어 있는데,슈퍼뷰에 추가된 부분은 하단에 존재해서 앱의 생명주기와 맞지 않아서 오류가 생긴 거였음( = collectionView에 접근할 때마다 새로운 인스턴스가 생성)  lazy var로 초기화 시점을 늦춰주면 해결됨  정리 ---기존 방식(계산된 프로퍼티)• collectionView에 접근할 때마다 새로운 인스턴스가 생성되었기 때문에, addSubview()로 추가한 collectionView와 제약 조건을 설정하려는 collectionView가 서로 다른 인스턴스일 수 있음수정된 방식(lazy var)• collectionView가 처음 접.. 2024. 8. 27.
[오류] 테이블뷰 이벤트 발생 시 UI 작업이 중단되는 현상(스톱워치) 오류내용아래 영상과 같이 스톱워치에서 랩 기록 후 테이블뷰 스크롤 시 타이머가 중단됨!!  애플 공식문서를 확인해보니어떤 스레드에서 작업할지 설정 가능한 DispatchSourceTimer가 있다고 함https://developer.apple.com/documentation/dispatch/dispatchsourcetimer DispatchSourceTimer | Apple Developer DocumentationA dispatch source that submits the event handler block based on a timer.developer.apple.com  나는 지금 Timer을 이용해서 스톱워치 작업을 했는데 일단 바꿔줌  오류 발생  이벤트 발생 시 타이머가 중단되지 않게하기 위.. 2024. 8. 20.
[오류] TableView 라인이 오른쪽으로 쏠릴 때 🚨 오류내용 전에도 겪었던 문제인데, 테이블뷰로 데이터가 찍힐 때 라인이 오른쪽에 붙어있는 것    💫 해결 방법 1 .separatorInset.left = 0  를 줘서 왼쪽 inset을 0으로 줘버리면 아래 화면처럼 라인이 양쪽으로 딱 붙는 모습을 볼 수 있다   💫 해결 방법 2 아니면 아래 코드처럼 각각 Inset을 따로 줄 수도 있다 2024. 8. 19.
[오류] Label .center 설정하면 텍스트가 떨리는 오류 오류 내용: textAlignment = .center 작성 시 레이블이 업데이트 될 때마다 노출되는 숫자의 자간이 계속 바뀌어서 미친듯이 떨리는 현상 발생🙂‍↔️    시도 1 (실패)Label 레이아웃에서 width를 지우고 leading trailling 값으로 재설정 → 안됨   시도 2 (실패)textAlignment 값을 .left 로 변경하고 최대한 center로 보이게 width를 딱 맞게 설정 → 떨림은 사라졌으나 11:11.11 같은 자간이 좁은 텍스트 노출 시 왼쪽으로 치우쳐짐   시도 3 (성공🌈)스텍오버플로우에서 찾은 문서https://stackoverflow.com/questions/33800488/ios-prevent-timer-uilabel-shaking-when-numb.. 2024. 8. 14.