UITextField 클래스 안에는 기본적으로 placeholder프로퍼티가 있다. 하지만 UITextView에는 placeholder가 없기때문에 직접 구현을 해야한다. 구현해보기전에 TextField에서의 placeholder의 특징을 생각해보자. -> 텍스트필드가 비어있는 경우엔 placeholder가 보인다. -> 텍스트필드 편집을 시작하면 placeholder가 사라진다. -> 편집을 끝냈을때 텍스트필드가 비어있다면 placeholder를 다시 보여주고, 텍스트가 있는 경우엔 텍스트를 보여준다. 위의 특징들을 똑같이 구현하여 TextView에서도 placeholder를 사용해보자. 먼저, TextView를 추가하고 레이아웃을 잡아준다. Editing 기능 관련 메서드를 사용하기 위해서는 UITe..
코드 라인 변경 Option + Command + [ ] ([는 위로, ]는 아래로) 한 번에 여러 줄에 코드 작성 Control + Shift + 마우스 클릭 클래스 멤버와이즈 초기화 구문 구조체와 클래스의 다른 점 중 하나인 멤버와이즈 구문을 클래스에서도 자동완성 시킬 수 있음. 클래스의 이름인 Hee를 선택하고 Editor - Refactor - Generate Memberwise Initializer 커서 찾기 Option + Command + L 라인 검색(몇번째 줄 코드를 확인할지) Command + L 에디터 분리 Option + 원하는 파일 코드 동시 수정 바꿀 함수 앞에 커서 올리고 Control + Command + E 주석 작성 //MARK: 을 이용하면 아래처럼 목록에서 찾을 수 있..
오픈소스 Kingfisher에서는 이미지 url을 이용해 이미지를 처리한다. 근데 주소가 https로 시작하는 이미지는 제대로 처리했지만, http로 시작하는 이미지는 처리하지 못했다. http로 시작하는 이미지 url을 이용했을때, 시뮬레이터를 보면 어떠한 이미지도 보이지 않는 것을 확인할 수 있다. 반면, https로 시작하는 이미지 url을 넣어주면 제대로 이미지가 보인다. 위의 결과처럼 http로 시작하는 url을 처리하지 못하는 이유는 ATS(App Transport Security)때문이다. 공식문서에 나온 내용을 보자. "On Apple platforms, a networking security feature called App Transport Security (ATS) improves p..
오늘은 런치스크린에 간단한 애니메이션을 넣어보도록 하겠다. 런치스크린의 공식 문서를 보면 다양한 제약들이 적혀있는데, 간단히 말해서 런치스크린에서는 애니메이션을 만들 수 없다는 얘기이다. 그래서 런치스크린으로 애니메이션 또는 동영상의 첫 화면을 띄운 뒤, 다른 뷰에서 영상을 보여주는 방법으로 구현해보겠다. 애니메이션을 이용하기위해 Lottie를 이용할 것이다. -> airbnb에서 제공하는 애니메이션 라이브러리 https://github.com/airbnb/lottie-ios 우선, 코코아팟이나 SPM을 이용하여 Lottie를 인스톨해야하는데 나는 SPM을 이용하였다. Package Depencies에서 +버튼을 누른 뒤, Lottie 깃허브에 있는 Package URL을 입력하고 Add Package를..
이번엔 Image Rendering Mode에 대해 알아보았다. 최근에 새싹 실습을 진행하며 Button에서 이미지가 파란색으로 보이는 경험을 자주 했다. 나는 분명 버튼에 이미지를 제대로 넣었는데 왼쪽과 같이 파란색으로 나왔다. 오류를 해결하기 위해 알아낸 방법은 버튼의 type을 Custom으로 바꿔주는 방법이었다. 이는 Rendering Mode에 의한 결과인데, 공식문서에서 관련 글을 찾아보면 아래와 같은 설명이 나와있다. "The rendering mode controls how UIKit uses color information to display an image." "Rendering mode는 UIKit이 색상 정보를 이용하여 이미지를 보여주는 방법을 제어합니다." -> 해석이 완벽하지 않..
- Total
- Today
- Yesterday