반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- AI
- 스프링부트
- JPA
- 42seoul
- 리눅스
- MySQL
- 프로그래밍언어론
- 인공지능
- Spring
- springboot
- 아이패드다이어리
- 데이터베이스
- 오라클
- IOS
- swift
- 소켓
- CI
- DBMS
- javascript
- 다이어리
- CD
- 네트워크
- 밥먹는 철학자
- libasm
- Dining philosopher problem
- sql
- 스프링
- Xcode
- 스프링부트 웹 소켓
- jenkins
Archives
- Today
- Total
Hi yoahn 개발블로그
[iOS] constraint, stackview 본문
반응형
1. StackView 에 UIImageView가 붙은 UIView 를 붙이면 제거가 제대로 안되는 문제
카드게임 앱을 만들다가, 게임참가자별 나눠준 카드를 화면에 출력하는 과정에서 버튼 아래의 것들은 하나의 스택뷰 vertical 로 넣고, 카드 이미지는 하나의 UIView에 넣고 스택에 넣었었는데 화면이 새로 바뀌는 과정에서 기존 뷰를 stack.removefromSuperView를 통해 제거하고 stack 에는 새로운 객체를 생성했는데 이미지가 바뀌는 것이 아니라 계속 새로 추가되는 문제가 있었다.
그래서 UIView에 넣었던 것을 UIStackView로 바꿔서 넣었더니 잘 동작했다!
이유는 잘 모르겠다. (혹시 아시는 분은 댓글로 알려주세요!!!)
2. 최상위 스택뷰의 제약조건 설정하기
코드로 설정하는 방법
먼저 뷰의 auto 제약조건을 꺼줘야 한다.
var stackView: UIStackView
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.topAnchor.constraint(equalTo: playerbutton.bottomAnchor, constant: 15).isActive = true
stackView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 20).isActive = true
stackView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -50).isActive = true
내부에 또 다른 뷰가 들어가는 경우 크기나 위치 설정이 필요한 경우 constraint를 이용해 제약조건 설정해야 원하는 위치와 크기로 잘 들어감
카드이미지가 들어간 스택 뷰의 imageView frame 값을 변경했더니 제대로 동작하지 않음
3. 화면 Refresh 하기
구현 조건에 쉐이크 이벤트가 일어나면 게임을 재시작하여 새로운 화면을 보여주는 조건이 있었다.
쉐이크 이벤트가 일어나는 화면에서 self.becomeFirstResponder()를 해주고, motionEnded를 오버라이드하여 shake 이벤트가 일어나는 경우 기존에 있던 stack 뷰를 제거하고 다시 생성하는 과정 진행
harrythegreat.tistory.com/entry/IOS-Auto-layout-코드-예시
반응형
'프로그래밍 언어 > iOS' 카테고리의 다른 글
[Xcode / iOS] File - Cocoa Touch Class / Swift File, Info.plist (0) | 2021.03.03 |
---|---|
[iOS] CustomStringConvertible, 시스템 로그 (0) | 2021.03.03 |
[iOS] view layout 잡기 (0) | 2021.02.08 |
[iOS] safeArea 사용하기 (0) | 2021.02.04 |
[iOS] 비율에 맞춰서 이미지 표시하기 (0) | 2021.01.26 |
Comments