์ค๋์ ์ง์ค์ด ์ ์๋๋ ๋ ์ด์๋ค. ๊ทธ๋์ ์๋ก์ด ๋ทฐ๋ฅผ ์ง๋ ๊ฒ๋ณด๋ค๋ ์ฌ๋ผ์ ์๋ PR์ ๋ํด ์ฝ๋๋ฆฌ๋ทฐํ๋๋ผ ๋ฐ๋นด๋ ๋ ์ด๋ค.
์ฝ๋๋ฆฌ๋ทฐ๊ฐ ๋ฐ๋ฆฌ๊ธฐ๋ ํ๊ณ ,,,, ์ฐ๋ฆฌํ์๋ค์ ์ฝ๋๋ ์ฐธ ๋ฐฐ์ธ๊ฒ ๋ง๋ค!๐
๋๋์ฒด ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์ผ๋ง๋ํ๊ธธ๋ ๋ช์๊ฐ์ด ๊ฑธ๋ ค?
์ด๋งํผ...์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํ๋ค๋ฉด ๋ฏฟ๊ฒ ๋๊ฐ ์ผํํํํณ์ใ
กํํํณํใ
ใ
ํใ
ํ ์ฌ๋ฐ๋ฐ!
๊ทธ๋๋ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋์ถฉ ๊ฐ์ ธ๊ฐ์๋ ์ ๋ never naver ์๋๋๊น,,, ์ต๋ํ ์ ์ฑ๋ค์ฌ์ ํ๋ค. ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํ๋ฉด ํ ์๋ก, ํ์๋ค์ ์ปจ๋ฒค์
์ด ์ ์ ๋ง์๊ฐ๊ณ , ํ๋ช
์ด ์ง ์ฝ๋์ฒ๋ผ ๋ ์ ์์ ๊ฒ ๊ฐ์๋ค.
์ง๊ธ ์์ํ์ง ์ผ์ฃผ์ผ ๋๋๋ฐ ๋ฒ์จ ์ด๋ ๊ฒ ๋ง์ถฐ์ง๊ณ ์์ผ๋!
๊ฒฐ๊ตญ ์ํ๋ ์ฌ๋ ํ ๋ช
์ ์ฝ๋๋ฅผ ์์ฃผ๋ก ๋ฐ๋ฅด๊ฒ ๋๋ ๊ฑฐ ๊ฐ๊ธดํ๋ค.
๋์ค์ ๋ด๊ฐ ๋ฆฌ๋ํด๋ณผ ์ ์์์ผ๋ฉด ์ข๊ฒ ๋ฐ!
๋ถ๊ฐ์ ์ธ ์ด์ผ๊ธฐ๋ก,, ๋ด๊ฐ ์ฐ๋ฆฌํ์ ๊ฐ๋์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋จ๊ธด ์ฝ๋ฉํธ,,
์ ๋ฐ ์ด๋ฒ ํ์ ๋๋ ๋๋ ๋์ ์๋ ์ฝ๋์์๋ p1, p2 ํ ๋งํผ ์ค์ํ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ ์๊ธธ!
์ ์ด์ ๊ทธ๋ง ๋ ๋ค๊ณ ๋ฐฐ์ด๊ฑฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ ์ด๋ณด์.
๋ด๊ฐ ์ค๋ ์ฃผ๋ก ๋ฆฌ๋ทฐํ PR์ ์ฌ๋ ํฐ์น ์ด๋ฒคํธ์ ๋ฐ๋ผ์ ๋ทฐ๊ฐ ์ด๋ํ๋ ๊ธฐ๋ฅ์ด๋ผ๋์ง, ์คํฌ๋กค์ด ์๋์ผ๋ก ์ปจํธ๋กค๋๋ ๊ธฐ๋ฅ ๋ฑ์ ๋ํด์ ๋ฆฌ๋ทฐํ๋ค. ๊ทธ๋์ ์ฝ๋๋ฅผ ์ฝ์ผ๋ฉด์ ํ๋ํ๋ ๋ชฐ๋๋๊ฒ์ ์ฐพ์๋ณด์๊ณ , ๊ทธ์ ๊ด๋ จ๋ ์ฝ๋๋ค์ด ์๋ ๋ง์ ๊ฒ์ด๋ค! (์๋ ๊ฒ๋ ์์ ~.~)
๐ฃ UILabel์์ lineBreakStrategy์ lineBreakMode์ ์ฐจ์ด๊ฐ ์์๊น?
์ค๋ ํ์์ ์ฝ๋์์ UILabel์ ๋ํ ์์ฑ๊ฐ์ผ๋ก ๋ ๊ฐ์ง๋ฅผ ๋ดค๋ค. ๋๊ฐ์ง ๋ชจ๋ ์ค์ด ๋์ด๊ฐ ๋ ์ด๋ป๊ฒ break ํ๋์ ์ค์ ์ ๋๋ ์ฝ๋์ธ๊ฒ ๊ฐ์๋ฐ, ๋๊ฐ์ ๊ตฌ์ฒด์ ์ธ ์ญํ ๊ณผ ์ฐจ์ด์ ์ด ๊ถ๊ธํด์ก๋ค.
(๊ทผ๋ฐ ๊ฒฐ๊ตญ ๊ณต์๋ฌธ์์๋ ๋์์์ง ์๊ธฐ ๋๋ฌธ์,, ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ๋ฐ๊ฒฌํ์ง ๋ชปํ์ต๋๋ค,, ๊ทธ๋ฅ ์ฐจ์ด๊ฐ ์๋ค~~ ์ด๋ ๊ฒ๋ง ๋์์์ด ์์ ๋ถ์น์ ํด.... ๊ฒฝํ๋ง์ด ์ด๊ธธ... ๊ฒฝํ์ ํตํด ๋ฐฐ์ฐ๊ฒ๋๋ค๋ฉด, ์์ ํ๋ฌ ์ค๊ฒ ์ต๋๋ค ใ ใ )
lineBreakStrategy
๐ ๋จ๋ฝ์ ๋ฐฐ์นํ๋ฉด์ ์ค์ ๋๋ ์ ๋ต.
The strategy for breaking lines while laying out paragraphs. (๊ณต์๋ฌธ์)
'์ปจํ ์ด๋์ ๋ง์ง ์๋ text์ ์ค์ ๋ํด์ ์กฐ์ ํ๋ lineBreakMode'์๋ ๋ค๋ฅด๋ค
์ด๊ฒ ๋ฌด์จ๋ง์ด์ง ;;
์ด์จ๋ ์ด ๋ฉ์๋๋, UILabel ๋ด๋ถ์์ ์ค์ด ๋๊ธฐ๊ฒ ๋ ๋ ์ด๋ป๊ฒ ๋๊ธฐ๊ฒ ํ ๊ฑด์ง์ ๋ํ ์ ๋ต์ ์ต์ ์ผ๋ก ์ค ์ ์๋ค. ํนํ ํ๊ธ์ "์ด๋ " "๊ฒ" ๋๊ธฐ๊ฒ ๋๋ฉด ๋ฌธ์ฅ์ด ๋๊ฒ ์ด์ํด ์ง๋๋ฐ, ์ด๋ lineBreakStrategy์ ์๋ .hangulPriority๋ฅผ ์ฌ์ฉํด์ ์ค๋ฐ๊ฟ์ ์ด์๊ฒ ํ ์ ์๋ค.
if #available(iOS 14.0, *) {
paragraphStyle.lineBreakStrategy = .hangulWordPriority
}
์ด๋ ๊ฒ ํ๊ธ ์ค๋ฐ๊ฟ์ ์ ์ฉํ ์ ์๋ค. ๊ท์ฌ์ hangul,,,,
๊ทผ๋ฐ ์ด ํ๊ธ ์ค๋ฐ๊ฟ ๊ธฐ๋ฅ์ ios 14์ด์์์๋ง ๊ฐ๋ฅํ๊ธฐ๋๋ฌธ์ ์ ๋ ๊ฒ ๋ถ๊ธฐ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผํ๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด, ios 14 ์ด์์์๋ ๋ฑํ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์์๋ ํ๊ธ๋ ์ ๋ถ๋ฆฌ๋์ ๋์จ๋ค๊ณ ํ๋ค. ์ํฉ์ ๋ง๊ฒ, ์ ์ฉ์ด ์๋ ๋ ์ฌ์ฉํด๋ณด์!!
lineBreakMode
๐ ์ปจํ ์ด๋์ ๋ง์ง ์๋ ๋จ๋ฝ์ ์ค ๋ฐ๊ฟ ๋ชจ๋์ ๋๋ค.
๐ ๋ ์ด๋ธ์ ํ ์คํธ๋ฅผ ์ค ๋ฐ๊ฟํ๊ณ ์๋ฅด๋ ๊ธฐ์ ์ด๋ค.
The mode for breaking lines in the paragraph that don’t fit within a container. (๊ณต์๋ฌธ์)
The technique for wrapping and truncating the label’s text. (๋๋ฒ ์งธ ๊ณต์๋ฌธ์, ์ ๋๊ฐ์?? )
๋ญ์ผ ๊ทธ๋์ lineBreakStrategy์ ๋ญ๊ฐ๋ฌ๋ผ;; ํ๊ณ ์๋๋ฐ ์ด๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ช ํํ๊ฒ ๋ค๋ฅด๋ค๊ณ ํผ์ง๋งํ๊ฒ ๋์์๋ค.
์์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ๊ณต์๋ฌธ์์ ๋ ๊ฐ์ง ๋ฒ์ ผ์ discussion ์ด ์๋ค. ;;
https://developer.apple.com/documentation/uikit/nsparagraphstyle/1529937-linebreakmode
https://developer.apple.com/documentation/uikit/uilabel/1620525-linebreakmode
๋ ๊ฐ๋ค "NSLineBreakMode" ํ์ ์ด๋ค. ๋์ผํ๊ฒ์ธ๋ฏ? ๋๊ฐ์ ํด์์ ์กฐํฉํด์ lineBreakStrategy์ ๋ญ๊ฐ๋ค๋ฅธ์ง ์ดํด๋ณด์.
- ์ด ์์ฑ์ ๋ง์ค์ํ (...) ๋ก ๋ง์ ์ค์ด๊ฑฐ๋, text๋ฅผ ์๋์๋์ ๊ฐ์ด container์ ๋ง์ง ์๋, ๋ ์ด์์์ด ๋ฒ์ด๋๋ text๋ค์ ๋ํด์ ์ ์ดํ๋ ํ๋กํผํฐ๋ค.
- ์ด๊ฒ์ '์์คํ ์ด ๋จ๋ฝ ๋ด๋ถ์์ ์ค๋ฐ๊ฟ์ ์ ์ดํ๋ lineBreakStrategy'์๋ ๋ค๋ฅด๋ค.
- ์คํ์ผ์ด ์ง์ ๋ ํ ์คํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ ๊ฐ์ ํ ๋นํด์ฃผ๋ฉด ์ ์ฒด ๋ฌธ์์ด์ ๋ํด์ ์ค๋ฐ๊ฟ ๋ชจ๋๊ฐ ์ ์ฉ๋๋ค.
๊ทธ๋์ lineBreakStrategy์ lineBreakMode์ ์ฐจ์ด์ ์?
์ ์ฌ์ค, ๋๊ฐ์ ์ฐจ์ด์ ์ ๋ํด์ ์์ธํ๊ฒ ์์ง ๋ชปํ๊ฒ ๋ค. ๊ทธ๋์ ๊ทธ๋ฅ ๊ทธ ๋ด๋ถ์ ์ด๋ค ์์ฑ์ด ์๋์ง์ ๋ฐ๋ผ์ ํ์์ ๋ง๊ฒ ์ฌ์ฉํ๋ฉด ๋์ง ์์๊น?
์ฐ์ lineBreakStrategy์๋ ์๋์ ๊ฐ์ ์์ฑ์ด ์๋ค. hangulWordPriority๊ฐ ์ ์ ํ๊ณ , ํ๊ตญ์ธ์ด ํ๊ฒ์ธ ์ฑ์ ๋ง๋ค๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ๊ฒ ๊ฐ๋ค.
๋ค์์ lineBreakMode์์ ์์ฃผ ์ฌ์ฉ๋๋ ์์ฑ๋ค์ด๋ค.
๋ญ๊ฐ ์ด๋ ๊ฒ ์์ฑ๋ค์ ๋น๊ตํด๋ณด๋๊น, ์ด๋ค ์ํฉ์์ ์ฐ์ด๋์ง๋ ๋์ถฉ ์๊ฒ ๋ค. ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ฉด๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐจ์ด์ ๋ ์กฐ๊ธ ๋ณด์ธ๋ค. lineBreakStrategy๋ ๋๋ถ๋ถ '๋จ๋ฝ'์ ๊ธฐ์ค์ผ๋ก ์ค๋ฐ๊ฟ ๊ธฐ์ค, ๋จ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค์ ๋ฐ๊พธ๋ ๊ธฐ์ค์ ์ธ์ด๋ค. ๊ทผ๋ฐ lineBreakMode์ ์์ฑ๋ค์ ๋ณด๋ฉด ์ปจํ ์ด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์๋๊ณ ์๋๊ณ , ๋์ด๊ฐ๊ณ ์๋์ด๊ฐ๊ณ ์ด๋ฐ๊ฒ์ ๋ํ ๊ธฐ์ค์ ์ ํ๋ ๊ฒ ๊ฐ๋ค.
์ปจํ ์ด๋๊ฐ ๋ญ๊น? ์ธํฐ๋ท์ ๋ญ ์ณ์ผํ๋์ง ๋ชฐ๊ฒ์ง๋ง,, ์ผ๋จ ๋ฌธ๋งฅ์ UILabel, ๊ทธ๋๊น ๊ทธ ์์ฑ์ ๋ด๊ณ ์๋ ๋ฌด์ธ๊ฐ(๋ทฐ)๋ฅผ ์๋ฏธํ๋ ๊ฒ ๊ฐ๋ค.
๐ฃ scrollToRow() ๋
์ธ๋ฑ์ค ๊ฒฝ๋ก๊ฐ ์๋ณํ๋ ํ์ด ํน์ ์์น์ ์์ ๋๊น์ง tableView๋ฅผ ์คํฌ๋กค ํ๋ค.
https://developer.apple.com/documentation/uikit/uitableview/1614997-scrolltorow
๊ณต์๋ฌธ์๋ ์ ๋ง์ด ์ด๋ ค์ธ๊น ;;;
UITableView์ scrollToRow() ๋ฉ์๋๋ 'ํน์ ์
๋ก ์คํฌ๋กค ์ํค๊ธฐ'์ํ ๋ฉ์๋์ด๋ค. ํน์ ์ํฉ์์ ํน์ ํ
์ด๋ธ๋ทฐ์ ์์น๋ก ์ด๋ํ๊ฒํ๋๊ฒ!!
์ํ๋ ์์น์ indexPath๋ฅผ ์ง์ ํด์ scrollToRow ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค. ํ๋ผ๋ฏธํฐ๋ ์๋์ฒ๋ผ ์ธ ๊ฐ์ง๋ก ๋ฐ๋๋ค. at์๋ค๊ฐ indexPath๋ฅผ ์ ๋ ฅํด์ ํน์ ์์น๋ฅผ์ง์ ํด์ฃผ๊ณ , at์ ํน์ ์์น์ ์ด๋ ํฌ์ง์ ์ผ๋ก ๊ฐ์ง ์ ์ด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ animated ์ฌ๋ถ์ ๋ฐ๋ผ ์คํฌ๋กค ์ ๋๋ฉ์ด์ ๋ ํํํ ์ ์๋ฐ. animation : false ๋ผ๋ฉด, ์ ๋๋ฉ์ด์ ์์ด ํญ. ํ๊ณ ๊ทธ ์์น๋ก ์ด๋ํ๊ฒ ๋๋ค.
self.tableView.scrollToRow(at: endIndex, at: .bottom, animated: true)
์ฐธ๊ณ ์๋ฃ https://0urtrees.tistory.com/54
๐ฃ isUserInteractionEnabled() ๋
์ ์ ์ ์ด๋ฒคํธ๊ฐ event queue๋ก๋ถํฐ ๋ฌด์๋๊ณ ์ญ์ ๋๋์ง๋ฅผ ํ๋จํ๋ bool ๊ฐ
https://developer.apple.com/documentation/uikit/uiview/1622577-isuserinteractionenabled
์ฆ, UserInteractionEnabled == false๋ฅผ ํ๋ฉด, view์ ๋ํ touch, press, keyboard, focus event ๋ฑ ๋ชจ๋ ๊ฒ๋ค์ด ์ด๋ฒคํธ ๋๊ธฐํ๋ ฌ (queue)์์ ์ญ์ ๋๊ณ ๋ฌด์๋๋ค. ๋ฐ๋๋ก true ์ด๋ฉด, ๋ชจ๋ ์ด๋ฒคํธ๋ ์ ์์ ์ผ๋ก ๋ทฐ์ ์ ๋ฌ๋๋ค. default๋ true์ด๊ธฐ ๋๋ฌธ์ false๋ก ์ค์ ํด์ฃผ์ง ์๋ ์ด์ ์์ฑํ์ง ์์๋ ๋๋ค.
ํ์ง๋ง ๋งค๋ฒ ํญ์ always always true ๊ฐ์ ๊ฐ๋๊ฑด ์๋๋ค.
animation์ ์ ์ฉํ๋ ๋์์๋ ์ด ํ๋กํผํฐ์ ๊ฐ์ด false / true ์๊ด์์ด ๋ชจ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ฐ disable๋๋ค๊ณ ํ๋ค. ์ ๋๋ฉ์ด์
์ด ์งํ๋๊ณ ์์๋ ์ด๋ ํ ํฐ์น์ด๋ฒคํธ๊ฐ ๋์ํ์ง ์๋ ๊ณผ์ ์ด ์์์ ๊ฒ์ธ๋ฐ, ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ์ฌ๊ธฐ์ ํด๋นํ๋ค.
๋๋ ์ ๋๋ฉ์ด์ ์ด ์งํ๋๊ณ ์์ ๋๋ ์ด๋ฒคํธ๋ฅผ ๋์ํ๊ฒ ํ๊ณ ์ถ์ผ๋ฉด, ์ ๋๋ฉ์ด์ ์ต์ ์ผ๋ก allowUserInteraction์ ์ฃผ๋ฉด ๋๋ค๊ณ ํ๋ค.
์ฐธ๊ณ ์๋ฃ https://www.zehye.kr/ios/2021/08/12/iOS_isUserInteractionEnabled/
๐ฃ needsDisplayOnBoundsChange ๋
bound ์ฌ๊ฐํ์ด ๋ณ๊ฒฝ๋ ๋ ๋ ์ด์ด ์ปจํ ์ธ ๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ ์ง ๋ํ๋ด๋ Boolean ๊ฐ
https://developer.apple.com/documentation/quartzcore/calayer/1410923-needsdisplayonboundschange
true๋ก ์ค์ ๋๋ค๋ฉด, ์์ฑ์ด ๋ณ๊ฒฝํ ๋๋ง๋ค ์๋์ผ๋ก ๋ฉ์๋๋ฅผ ํธ์ถํด์ค๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ธ์ ๋ false ์ด๋ค. ์ฐ๋ฆฌ ๋ทฐ์์๋ ํด๋น ๋ฉ์๋๋ฅผ ๋ธ๋ฌ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์์ ์ฌ์ฉ๋๋ค. ์๋ฌด๋๋ ๋ธ๋ฌ์ฒ๋ฆฌ,, ๋ ๊ฒ์ ํ๋ฉด์ด ๋ฐ๋๋ฉด ์ฌ๋ ค์ฃผ๊ณ ํ๋๊ณผ์ ์ด ํ์ํด์ ์ํ๊ฐ ๋ฐ๋์๋ฐ๋ผ ์ฌ๋ ค์ฃผ์ด์ผํ๋๊น ์ฌ์ฉํ์ง ์์์๊น? ,,, ์ค๋ช ์ด ์ฐธ ๋ถ์กฑํ๋ค ์ธํฐ๋ท์๋!! !ใ ใ ๋์ ์ํํ ๋ฌผ์ด๋ด์ผ์ง
๐ฃ isOpaque() ๋
ํ์์ ์ฝ๋์์ ์ฝ๊ฐ ํฌ๋ช ์ฌ์ง์ ๋ธ๋ฌ์ฒ๋ฆฌ ํ๋ฉด์ ๋ง๋๋ task๊ฐ ์์๋ค. ๊ทธ๋
self.isOpaque() = false
self.layer.isOpaque() = false
๊ฐ ๋ฑ์ฅํ๊ณ , ๋ญ์ง๊ฐ ๊ถ๊ธํด์ก๋ค.
๐ view๊ฐ ๋ถํฌ๋ช ํ์ง, ํฌ๋ช ํ์ง์ ๋ํด์ ๊ฒฐ์ ํ๋ Bool ๊ฐ์ด๋ผ๊ณ ํ๋ค.
A Boolean value that determines whether the view is opaque.
<๊ณต์๋ฌธ์> https://developer.apple.com/documentation/uikit/uiview/1622622-isopaque
์ ๋ง ๊ทธ๋๋ก ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๊ธฐ ์ํ ๊ฐ์ด๋ผ๊ณ ๋ณผ ์ ์๊ฒ ๋ค.
์ด ๊ฐ์ false๋ก ์ฒ๋ฆฌํ๋ฉด, ์์ ํ ํฌ๋ช ํ ๋ทฐ๊ฐ ๋๋ค. ๋ฐ๋๋ก true๋ก ์ค์ ํ๋ฉด, drawing ์์คํ ์ด view๋ฅผ ์์ ํ ๋ถํฌ๋ช ํ๊ฒ ์ฒ๋ฆฌํ๋ค๊ณ ํ๋ค. ๊ทธ๋ผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค๊ณ ๊ณต์๋ฌธ์์ ๋์์๋๋ฐ? ์? ๊ทธ๋ด๊น?? ์ ์ฑ๋ฅ์ด ํฅ์๋ ๊น?
isOpaque() = false ์ผ ๋ ์ฑ๋ฅ์ด ํฅ์ํ๋ ์ด์ !!
๋ทฐ์ ๋ถํฌ๋ช ๋๋ฅผ ๋ํ๋ด๊ธฐ ๋๋ฌธ์, ๋ทฐ์ ๊ทธ๋ ค์ง ๋ถ๋ถ์ ๋ํด์ ๋ค์ ํด๋นํ๋ ๋ทฐ๋ค์ ์ ๋ถ ๊ทธ๋ ค์ง์ง ์๋๋ค. ๊ทธ๋์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค๊ณ ํ๋ค ! ์ํ ์๋ง์ปคํผ ๊ฐ์๊ฑฐ๊ตฌ๋~~~
๊ทธ๋ผ ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๋ opacity์๋ ๋ญ๊ฐ ๋ค๋ฅผ๊น?
opacity๋ ๋ถํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๋ค. ์ฆ, 0.0 (ํฌ๋ช ) ๊ฐ๋ถํฐ 1.0 (๋ถํฌ๋ช ) ๋ฒ์ ๋ด์ ์๋ ๊ฐ์ด์ด์ผ ํ๋ฉฐ, ๋ฒ์ด๋๋ ๊ฐ์ ์ต์ ๊ฐ ๋๋ ์ต๋๊ฐ์ผ๋ก ๊ณ ์ ๋๋ค. (์ฆ 0๊ณผ 1๋ก ๊ณ ์ ๋๋ค๋ ๋ง!)
์ํ !! isOpaque() ๋ ์์ ํฌ๋ช / ๋ถํฌ๋ช ์ ์ฌ๋ถ๋ฅผ ๋ถ๊ฐ์ผ๋ก ํํํ๋๊ฑฐ๊ณ , opacity๋ ๋ถํฌ๋ช ๋๋ฅผ ์กฐ์ ํ ๋ ์ฌ์ฉํ๊ฒ ๊ตฌ๋ ๋ผ๊ณ ์ ์ ์๊ฒ ๊ณ , ์ํฉ์ ๋ฐ๋ผ ๋ฌ๋ฆฌ ์ฌ์ฉํ๋ฉด ๋๊ฒ ๊ตฌ๋ ์๊ฐ๋๋น ^___^
alpha ๋ ๋ทฐ์ ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๋ค.
ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๋ ๊ฒ ์ค, alpha๋ผ๋ ๊ฐ๋ ์๋ค๊ณ ํ๋ค. opacity์ ๊ฐ๊ฒ 0.0(ํฌ๋ช )๋ถํฐ 1.0(๋ถํฌ๋ช )ํ ๊ฐ์ผ๋ก ์กฐ์ ํ ์ ์๋ค. ๋ทฐ ์์ฒด์ ํฌ๋ช ๋๋ฅผ ๋ํ๋ธ๋ค๋๋ฐ,,,, ๊ทธ๋ผ ๊ตฌ์ฒด์ ์ผ๋ก opacity์๋ ์ฐจ์ด์ ์ด ๋ญ๊น ใ ใ ใ
์!!! ๊ฐ์๊ธฐ ์๊ฐ๋๊ฑด๋ฐ, ๋ณดํต opacity๋ ์์์ ๋ํ ๋ถํฌ๋ช ๋๋ฅผ ์ค๋ ํจ๊ป ์กฐ์ ํ ์ ์์๋ค. alpha๊ฐ ์ '๋ทฐ ์์ฒด์' ๋ผ๋ ๋ง์ ๊ฐ์กฐํ๋ ์๊ฐํด๋ณด๋ฉด, ๋ทฐ ์์ฒด์ ๋ถํฌ๋ช ๋๋ฅผ ์กฐ์ ํ ๋๋ ์ฃผ๋ก alpha๋ฅผ ์ฌ์ฉํ๊ณ ์์๊ฐ์ ๋ํ ๋ถํฌ๋ช ๋๋ฅผ ์กฐ์ ํ ๋๋ oapcity๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ค!
alpha๊ฐ์ 0์ผ๋ก ๋์ด์ hidden ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ด๊ธฐ๋ ํ๋ค๊ณ ํ๋ค!!
๐๐ป ์ ๋ฆฌํ์๋ฉด
1. isOpaque() ๋ ๋ทฐ๊ฐ ํฌ๋ช ํ์ง, ๋ถํฌ๋ช ํ์ง์ ๋ํ Bool๊ฐ์ผ๋ก ์ ์ํ๋ค.
2. Opacity๋ 0.0(ํฌ๋ช )~1.0(๋ถํฌ๋ช )๊น์ง ๊ฐ์ผ๋ก ๋ํธ๋ผ ์ ์๊ณ , ์ฃผ๋ก ์์์ ๋ํ ๋ถํฌ๋ช ๋๋ฅผ ์กฐ์ ํ ๋ ์ฌ์ฉํ๋ค.
3. alpha๋ 0.0(ํฌ๋ช )~1.0(๋ถํฌ๋ช )๊น์ง ๊ฐ์ผ๋ก ๋ํ๋ผ ์ ์๊ณ , ๋ทฐ ์์ฒด์ ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๋ค. ๋ทฐ์ ๋ํ alpha๊ฐ์ 0์ผ๋ก ์ฃผ๋ฉด, hidden๊ณผ ๋์ผํ ๊ธฐ๋ฅ์ ํ๊ฒ ๊ตฌํํ ์ ์๋ค.