본문 바로가기
반응형

Apple/UIKit4

[iOS] 화면 방향 고정되어있을 때 Orientation 변화 감지하기 기기의 orientation 변화는 UIDevice.orientationDidChangeNotification을 받아 처리할 수 있다. 그런데 만약 기기 자체 설정에서 "세로 화면 방향 고정"이 켜져있으면? 노티가 오지 않는다ㅠㅠ 이렇게 orientation lock이 걸려있는데도 orientation을 써야할 때는 어떻게 해야 하는지 알아보았다. ** 틀린 내용이 있을 수도 있습니다.. 발견하시면 댓글로 알려주세요:) ** 나름대로 열심히 찾아봤는데 센서를 사용해 디바이스의 움직임을 감지한 뒤 orientation을 직접 계산하는 방법이 최선이었따... (혹시 더 좋은 방법을 알고계시다면 알려주세요🙏) 디바이스의 움직임을 감지하기 위해서는 가속도계, 자이로스코프 등의 센서를 사용해야 하는데, 이런 것들.. 2022. 7. 23.
[iOS] UIActivityViewController로 이미지 공유 기능 구현하기 앱 내에서 선택한 이미지를 공유하는 기능을 구현해보려고 한다. [공유하기] 버튼을 누르면 아래 사진과 같은 모달이 뜨고, 모달에서 공유하고 싶은 다른 앱을 고르는 방식이다. UIActivityViewController 저 모달이 바로 UIActivityViewController이다. UIActivityViewController는 Standard Service를 제공하기 위한 뷰 컨트롤러이다. Standard Service의 예시로는 아래와 같은 것들이 있다. Pasteboard에 아이템 복사하기 SNS에 포스팅하기 email이나 SNS로 아이템 전송하기 그 외 커스텀 서비스도 제공이 가능하다. 위에 스크린샷에서 인스타그램을 선택하면 스토리/피드/DM에 공유하기가 뜨는 것처럼, 앱에서 서비스를 커스텀해서 .. 2022. 7. 7.
[iOS] 화면 방향에 따라 다른 오토레이아웃 적용하기 아래 사진처럼 기기 방향이 세로일 때와 가로일 때의 레이아웃을 다르게 잡고 싶었다. 전에 적용했던 constraint들을 해제하고 새로운 constraint를 먹이면 되는데, 코드를 깔끔하게 처리할 수 있는 방법을 발견해서 정리해보고자 한다. (이어질 내용은 아래 포스팅 내용을 참고한 것임!) Orientation Responsive UI in iOS Have you ever encountered a situation where the landscape UI does not quite match the portrait UI — meaning the constraints that were used… medium.com 먼저 기기 회전이 이루어지면, ViewController의 viewWillTransiti.. 2022. 3. 11.
[iOS] 오토레이아웃 1/N 지점에 위치시키기 아래 사진처럼 노란색 뷰가 하위 뷰로 파란 버튼을 가지고 있을 때, 파란 버튼을 항상 노란 뷰의 1/3 지점에 오도록 하고 싶은 상황이다. top을 constant로 줘버리게 되면 화면 크기가 달라졌을 때 비율이 유지되지 않는다. multiplier를 사용하면 될 것 같은데, width, height anchor가 아닌 top anchor와 같은 것들에도 multiplier를 사용할 수 있을까? 사용할 수 있다면 무엇을 기준으로 적용해야 할까? 어떤 뷰 내에서 top과 bottom anchor는 아래와 같이 표현할 수 있다고 한다. top = 0*bottom이고, bottom = 1*bottom이므로, top과 bottom 사이의 값은 (0~1 사이 값)*bottom으로 표현할 수 있다. 따라서 세로 방.. 2022. 3. 10.
반응형