본문 바로가기

반응형

전체 글

(51)
[iOS/Swift] UITextField와 UITextView의 특징, 차이점 아래와 같은 사진에서 팀 이름, 팀 규칙, 팀 스케줄, TMI를 입력받기 위해 나는 일단 UITextField로 UI를 만들었다.팀 이름은 TextField가 한 줄이어도 상관 없지만, 나머지는 여러줄이여야 했다.그래서 찾아보니 여러줄을 입력받으려면 UITextView를 사용해야 했다!!둘의 특징에 대해 알아보자UITextField와 UITextView의 차이점 UITextFieldUITextView입력 줄 수단일 줄 (한 줄만 가능)다중 줄 (여러 줄 입력 가능)스크롤스크롤 불가스크롤 가능 (기본적으로 활성화)플레이스홀더기본 지원 (placeholder 속성)기본 지원 없음 (별도 구현 필요)사용 목적간단한 입력 (예: 이름, 이메일)긴 텍스트 입력/표시 (예: 메모, 댓글)키보드 Return 키Ret..
[iOS/Swift] ScrollView 자동스크롤 구현 (feat. LayoutCycle) PinLayout, FlexLayout으로 ScrollView를 포함하여 작성하였다. UITextView에 글을 입력하면 UITextVIew 전체 크기도 바뀌도록 구현하였다.하지만, UITextView 크기가 화면을 넘어가면 자동으로 스크롤이 안됐다.그래서 자동 스크롤 기능을 구현하기 위해 검색을 하여서 아래 블로그 글을 참조하였다. https://velog.io/@lwb112/%EC%8A%A4%ED%81%AC%EB%A1%A4%EB%B7%B0-%EC%9E%90%EB%8F%99%EC%8A%A4%ED%81%AC%EB%A1%A4 스크롤뷰 자동스크롤스크롤뷰 에서 아래에 내용이 추가될 때 마다 하단으로 자동 스크롤링 해주는 로직을 사용하였는데 , 원리를 이해해 보고자 분석을 해보았다.velog.io private..
[Git/GitHub] Fork와 Branch (모르고 Fork를 해버린 날..) 협업을 하려면 Contributor로 초대를 받아야 하는데 내가 이메일 주소를 오타로 잘못 보내서 초대를 안받았다. 나는 그런줄도 모르고 GitHub에 있는 코드를 Clone 하고 개발 후 오늘 팀원들과 모여 branch를 publish 해봤다.내 branch를 publish했는데 fork this repository를 하겠냐는 창이 떴다.어떻게 하면 되냐고 묻자 팀원분들이 한번 해보라 해서 일단 fork를 하였다. 그리고 push를 시험삼아 해보기로 해서 push를 하였다..나는 Fork를 처음 해봤기에 잘몰라서 일단 해봤는데팀원분들이 해당 GitHub주소에 내 branch가 안보인다고 하였다. 뒤늦게 알았는데 Fork를 해서 리포지토리가 내 계정에 따로 만들어져 있었고git remote -v 했을 때..
[iOS/Swift] FlexLayout, PinLayout 팀원분 중 한 분이 FlexLayout, PinLayout을 이번 프로젝트에서 사용해 보자고 하셨다.FlexLayout, PinLayout이 성능이 좋고, 채용공고에도 자주 나온다고 한다.이번 기회에 배워보면 좋다고 생각했다. FlexLayoutFlexLayout은 CSS의 Flexbox에 영감을 받아 만들어진 레이아웃 라이브러리다.AutoLayout, UIStackView보다 8~12배 정도 렌더링이 빠르다SwiftUI와 마찬가지로 선언형이고 구문 연결(Chainable)이 가능하다https://github.com/layoutBox/FlexLayout GitHub - layoutBox/FlexLayout: FlexLayout adds a nice Swift interface to the highly o..
[iOS/Swift] CocoaPods 실행 오류 (Framework not found, Linker command failed with exit code 1 (use -v to see invocation)) 프로젝트 작업 시 기존 GitHub에서 클론 후 브랜치를 새로파서 내가 맡은 개발을 하려고 하였다. 하지만 아래와 같은 오류가 계속 생겼다..Framework not found Linker command failed with exit code 1 (use -v to see invocation)  Grok한테 물어봐서 해결하려고 하였다.아래와 같이 CocoaPods, 빌드 캐시 정리를 하여도 오류가 계속 났다.# DerivedData 삭제rm -rf ~/Library/Developer/Xcode/DerivedData# Pods 디렉토리 및 Podfile.lock 삭제cd /Users/jeong-geunho/Codes/Swift/NBCamp-TeamBoardrm -rf Podsrm Podfile.lock# ..
[iOS/Swift] UITableView, UICollectionVIew 팀원 소개 앱 개발 시 UITableView와 UICollectionView 중 결국 UICollectionVIew를 사용하여 메인 뷰를 작성하기로 결정되었다.각각 어떤 특징을 지니고 있는지 헷갈려서 공부를 하였다. UITableView주로 단일 열(세로 리스트) 형태로 데이터 표시하는 데 사용.테이블 형태로, 각 행(row)은 동일한 높이 또는 다양한 높이 가질 수 있음.섹션과 행으로 구성되며, 일반적으로 리스트 스타일의 UI(예: 설정 화면, 연락처 리스트)에 적합.데이터 소스를 UITableViewDataSource 프로토콜을 통해 관리하며, 델리게이트(UITableViewDelegate)를 통해 사용자 상호작용 처리.단순한 리스트 UI에 최적화되어 있어, 세로 스크롤만 필요한 경우 성능이 더 나을..
[iOS/Swift] 스파르타 iOS 마스터 트랙 본 캠프 1일차 드디어 3월이 되었고 스파르타 iOS 마스터 트랙 본 캠프가 시작되었다. 아침 9시부터 Zoom으로 OT가 진행 후 다시 새롭게 팀이 생겼다.이번 주 프로젝트는 팀원 정보 소개 앱 만들기다.  각각 어떤 느낌으로 만들 건지 기획해 본 후에 추합 하기로 해서 간단히 피그마를 이용해 UI를 만들었었다.  메인 프로필 리스트 뷰는 UITableView가 아닌 UICollectionVIew를 사용하기로 결정나서 왼쪽 뷰는 안 쓰게 되었고, 오른쪽 뷰는 쓰이게 되었다. 그리고 개발을 어떤걸 이용하여 어떤 방식으로 할지 논의를 하였다. 팀원분이 요즘 모집공고에 PinLayout과 FlexLayout이 항상 나와서 이를 이용하자고 제안하여서 PinLayout과 FlexLayout을 이용하여 레이아웃을 만들기로 하였다..
[iOS/Swift] Info.plist 위치 바꾸기("Did you forget to declare this file as an output of a script phase or custom build rule which produces it?" 오류 해결) 현재 프로젝트에서 Info.plist는 루트 폴더가 아닌 Supporting이라는 폴더안에 들어가 있다.  만약 파일정리를 하려고 Info.plist 위치를 바꾸고 싶을 때, 단순히 옮기기만 하면 아래와 같은 오류가 난다.  'Build input file cannot be found: '/Users/jeong-geunho/Codes/Swift/CalculatorClone/CalculatorClone/Info.plist'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?' 해결방법해결방법은 간단하다. 프로젝트 TARGETS -> Build Settings로 간다음..

반응형