๋งจ๋ ๊น๋จน์ด์ ์ ์ด๋์ผ๊ฒ ๋ค.ใ
์๊ตฌ์ฌํญ์ ์๋ ์ด๋ฏธ์ง์ ๊ฐ๋ค. ์๋ฌ ๋ฉ์ธ์ง๊ฐ ๋ณด์์ ๋ฐ๋ผ ๊ฐ๊ฒฉ์ด ๋ฌ๋ผ์ ธ์ผํ๋ ๊ฒ์ด๋ค.
์๋๋ก์ด๋์์๋ Gone์ด๋ผ๋ ์์ฑ์ด ์์ด, ์๋ฌ๋ฉ์ธ์ง๋ฅผ Gone ์ฒ๋ฆฌํ๋ฉด ์๋์ผ๋ก ์๋ ๋ทฐ๋ค์ ์์น ๋ฐ ๊ฐ๊ฒฉ์ด ๋ณ๊ฒฝ๋๋ค.
๊ทธ๋ฌ๋! iOS์์๋ Gone ์ฒ๋ฆฌ๊ฐ ๋ฐ๋ก ์๊ณ hidden์ฒ๋ฆฌ๋ง ํ ์ ์๋๋ฐ, ์๋ฌ๋ฉ์ธ์ง๋ฅผ hidden ์ฒ๋ฆฌ๋ฅผ ํด๋ ๊ธฐ์กด์ ๊ฐ๊ฒฉ์ ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ค.
์ด๋ด ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋ค.
1. StackView ์ฌ์ฉ
์คํ๋ทฐ์ ๋์ด๋ ๋ด๋ถ์ ์ปดํฌ๋ํธ๋ค์ ์ํฅ์ ๋ฐ์ ์ค์ ๋๊ธฐ ๋๋ฌธ์, ํน์ ๋ทฐ๋ฅผ hidden ์ฒ๋ฆฌํ๋ฉด ์๋์ผ๋ก ๋์ด๊ฐ ์ฌ์ค์ ๋๋ค.
๊ทธ๋ฌ๋ ๊ท์ฐฎ๋ค.
2. Constraint ์ฐธ์กฐ ํ, ๊ฐ๊ฒฉ update
var intervalConstraint: Constraint? = nil
passwordLabel.snp.makeConstraints { make in
self.intervalConstraint = make.top.equalTo(passwordTextField.snp.bottom).offset(32).constraint
make.leading.equalTo(passwordTextField)
}
Constraint ๋ณ์๋ฅผ ๋ง๋ค์ด ์ ์ธํด์ค๋ค.
๊ทธ ํ, update ์์ผ์ฃผ๋ฉด ๋๋ค~
errorMessageHidden ? passwordView.intervalConstraint?.update(offset: 32) : passwordView.intervalConstraint?.update(offset: 50)
+ ๋๋ snapkit์ updateConstraints ๋ฉ์๋๋ฅผ ํ์ฉํ ์ ์๋ค.
๋ฒ์ธ) update์ remake์ ์ฐจ์ด
- update: ์ ์ฝ์กฐ๊ฑด์ constant ๊ฐ๋ง ๋ณ๊ฒฝํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ
- remake: ๋ชจ๋ ์ ์ฝ์กฐ๊ฑด์ ์ ๊ฑฐํ๊ณ , ๋ค์ ์์ฑํ๋ค.
'๐ iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋น๋ฐ ํค ๊ตํ ์๊ณ ๋ฆฌ์ฆ, ๊ทธ๋ฆฌ๊ณ ์ข ๊ฐ๋จ ์ํธํ ๋น๋ฐ ์ฑํ (0) | 2023.07.16 |
---|---|
[CI/CD] Fastlane์ ํ์ฉํ Testflight ๋ฐฐํฌ ์๋ํ (0) | 2023.05.21 |
์์ฃผ ๊ฐ๋จํ๊ฒ UITest (0) | 2022.12.02 |
App Version & Build Version (1) | 2022.12.02 |
Thread 1: EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=120 MB, unused=0x0) ์ค๋ฅ ํด๊ฒฐ (0) | 2022.12.02 |