Xamarin.forms: Title View์˜ ์ฝ˜ํ…์ธ  ๊ฐ€๋กœ ์ •๋ ฌ

์— ๋งŒ๋“  2018๋…„ 12์›” 22์ผ  ยท  28์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: xamarin/Xamarin.Forms

์„ค๋ช…

TitleView์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€๋กœ๋กœ ๊ฐ€์šด๋ฐ์— ๋งž์ถœ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
XF์—์„œ ์ด ๊ธฐ๋Šฅ์„ ๋ณด๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฌธ์ œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด ๊ธฐ๋Šฅ์„ ๋” ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ •์˜ ๋ณด๊ธฐ์˜ ๋‚ด์šฉ์€ ์ƒ๋Œ€์ ์œผ๋กœ ์žฅ์น˜ ํ™”๋ฉด์„ ์ˆ˜ํ‰์œผ๋กœ ๊ฐ€์šด๋ฐ์— ๋งž์ถœ ์ˆ˜ ์—†์œผ๋ฉฐ ๋’ค๋กœ ๋ฒ„ํŠผ์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€, ์˜ค๋ฅธ์ชฝ ํ•ญ๋ชฉ์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€ ๋“ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
the issue

๋ฒˆ์‹ ๋‹จ๊ณ„

  1. ๋™์ผํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์ œ๋ชฉ ๋ณด๊ธฐ๋กœ ๋‘ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ๋‘ ๋ฒˆ์งธ ํŽ˜์ด์ง€์— ๋„๊ตฌ ๋ชจ์Œ ํ•ญ๋ชฉ ์ถ”๊ฐ€
  2. Page1์˜ ์ œ๋ชฉ ๋ณด๊ธฐ ๋™์ž‘์„ ๋ณด์‹ญ์‹œ์˜ค.
  3. Page2๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์‹œ ๋ด…๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘

TitleView์˜ ์ฝ˜ํ…์ธ ๋Š” ์ค‘์•™์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐฐ์น˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด TitleView ์ฝ˜ํ…์ธ ์˜ ๋…ผ๋ฆฌ์  ์ˆ˜ํ‰ ์ค‘์‹ฌ์ ์€ ํœด๋Œ€์ „ํ™” ํ™”๋ฉด์˜ ์ˆ˜ํ‰ ์ค‘์‹ฌ์ ์— ์˜ํ•ด ์ค‘์•™์— ๋ฐฐ์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ์ง€๋‚˜ ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(์ธํ„ฐ๋„ท์—์„œ ๊ฐ€์ ธ์˜จ ์ž„์˜ ์ด๋ฏธ์ง€).
...

์‹ค์ œ ํ–‰๋™

TitleView์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ์ž˜๋ชป๋œ ๋ฐฉ์‹์œผ๋กœ ์ค‘์•™์— ๋ฐฐ์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ํ†ต์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ •๋ณด

  • ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ฒ„์ „: >3.1
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์•Œ๋ ค์ง„ ์–‘ํ˜ธํ•œ ๋ฒ„์ „: <=3.1
  • IDE: VS2017
  • ํ”Œ๋žซํผ ๋Œ€์ƒ ํ”„๋ ˆ์ž„์›Œํฌ:

    • iOS:
  • ๋„ˆ๊ฒŸ ํŒจํ‚ค์ง€:
    ์ž๋งˆ๋ฆฐ ์–‘์‹ 3.4.0

  • ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์žฅ์น˜:
    ๋ชจ๋“  iOS

    ์Šคํฌ๋ฆฐ์ƒท

์žฌ์ƒ์‚ฐ ๋งํฌ

๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ„๊ธฐ ์— ์žˆ๋Š” XF์˜ Xamarin.Forms.ControlGallery ์˜ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด ๋งํฌ๋ฅผ ๋”ฐ๋ผ ์ฝ”๋“œ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. iOS ์•ฑ์„ ๋ณต์ œํ•˜๊ณ  ์‹คํ–‰ํ•œ ๋‹ค์Œ Title View ๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ BDF: TitleView Centered ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. Toggle Toolbar ํ•ญ๋ชฉ ์œผ๋กœ

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์ด๋ก ์ ์ธ ์˜ˆ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ค‘์•™์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก TitleView ์ปจํ…Œ์ด๋„ˆ์˜ ํฌ๊ธฐ์™€ ์œ„์น˜๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
...

๊ธฐ๋ณธ ๋ชจ๋“œ -

View Container์˜ ๋™์ž‘์€ ํ˜„์žฌ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
Default Mode

๊ณ ์ŠคํŠธ ๋ชจ๋“œ - (์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ)

๋ณด๊ธฐ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ชจ๋“  ํƒ์ƒ‰ ๋ชจ์Œ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด์šฉ์œผ๋กœ ์ผ๋ถ€ ์ปจํŠธ๋กค์„ ์˜ค๋ฒ„ํ”Œ๋กœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ถ€ ์ƒํ™ฉ์—์„œ๋Š” ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.
Ghost Mode

ํ†ตํ•ฉ ๋ชจ๋“œ

๋ณด๊ธฐ ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ๋Š” ํƒ์ƒ‰ ๋ชจ์Œ ํ•ญ๋ชฉ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ์—ฌ์œ  ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•ด์•ผ ํ•˜๋ฉฐ ๋ง‰๋Œ€ ์ค‘์•™์— ๊ณ ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
Unified Mode

titleview high impact proposal-open enhancement โž•

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ด๋ฉฐ ํ˜„์žฌ ์ˆ˜์ •๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  28 ๋Œ“๊ธ€

๊ฐ•ํ™”๋ณด๋‹ค ์ด์Šˆ๊ฐ€ ๋” ๋งŽ๊ธฐ์— [ํ–ฅ์ƒ]์—์„œ ์ด์Šˆ๋กœ ์œ ํ˜•์„ ๋ฐ”๊พธ๋Š”๊ฒŒ ๋‚˜์„๊ฑฐ ๊ฐ™์•„์š”

๊ฝค ๋งŽ์ด. ํ˜„์žฌ ํƒ์ƒ‰ ๋ชจ์Œ์— ๋‹ค๋ฅธ ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฉด ๋ชจ์–‘์ด ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ๊ฐ€์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ด๋ฉฐ ํ˜„์žฌ ์ˆ˜์ •๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@PureWeen ์•ˆ๋…•ํ•˜์„ธ์š”!
์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
์•ฝ 5๊ฐœ์˜ ์•ฑ์— ๋Œ€ํ•ด XF ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์€ ์ฐจ๋‹จ๊ธฐ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ ์…ธ์—์„œ ๊ณ„์† ๋ฌธ์ œ์ด๋ฉฐ ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ํ•ฉ๋ฆฌ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์—†๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋„ค๊ฑฐํ‹ฐ๋ธŒ ๋งˆ์ง„ ํ•ดํ‚น์€ ๊ณ„์‚ฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ถฉ๊ฒฉ์„ ๊ฐ€์ค‘์‹œํ‚ต๋‹ˆ๋‹ค.

์•ˆ๋…•,
์—ฌ๊ธฐ์ €๊ธฐ์„œ ๋†€๋ผ์šด ์ผ!! ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ปจํŠธ๋กค์˜ ๊ฒฝ์šฐ "TitleView"๊ฐ€ ๋ชจ๋“  ๊ณณ์—์„œ ๋‹ซํžŒ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋” ์ด์ƒ ์ˆ˜์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ค‘์•™์— ์žˆ์ง€ ์•Š์œผ๋ฉด ์ „ํ˜€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์žฌ์ž‘์„ฑ์ธ๊ฐ€์š”? ๋‚˜๋„ ํ•ดํ‚น์œผ๋กœ ๋งˆ์ด๋„ˆ์Šค ๋งˆ์ง„์„ ๋„ฃ์—ˆ์ง€๋งŒ ๋‚ด ํ•ดํ‚น์ด ๋ชจ๋“  ์žฅ์น˜์—์„œ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค... ๋ˆ„๊ตฐ๊ฐ€ ์ด ์žฅ์น˜์—์„œ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋งŽ์€ ๊ฐ์‚ฌ

๋‚˜๋Š” ์ตœ๊ทผ์— Xamarin iOS ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ”๋กœ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ฐ˜๋Œ€ํ–ˆ๊ณ  iOS์—์„œ ์ œ๊ณตํ•˜๋Š” UI ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. UINavigationItem ์—์„œ UIBarButtonItem ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ OS๋Š” ๋ Œ๋”๋ง ํ›„ ๋„ˆ๋น„๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ Title ์— ์ œ์•ฝ ์กฐ๊ฑด์ด๋‚˜ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ณด์ƒํ•˜๊ธฐ ์œ„ํ•ด ๋ณด๊ธฐ.
๊ฒฐ๊ตญ ๋‚˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํฌ๊ธฐํ•˜๊ณ  ํ‰๋ฒ”ํ•œ UIView ์ปจํ…Œ์ด๋„ˆ์™€ UIButton ๋„๊ตฌ ๋ชจ์Œ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๊ฐ„์— UILabel ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜๋งŒ์˜ ๋„๊ตฌ ๋ชจ์Œ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์‹ฌ).
์ด ์‹œ์ ์—์„œ Xamarin Forms์—์„œ ํ•„์š”ํ•œ ๊ฒƒ์€ Forms๊ฐ€ ์ „์ฒด ๋ง‰๋Œ€์— ๊ฑธ์ณ ๋ป—์–ด ์žˆ๋Š” UINavigationBar ์— ๋„ฃ์„ ContentView ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ํ•˜๊ธฐ๋Š” ์‰ฝ์ง€๋งŒ UINavigationBar ์˜ Title ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์–‘์‹์€ NavigationBar ์˜ ํ•˜์œ„ ๋ณด๊ธฐ๋กœ ContentView ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ž์ฒด. ๊ทธ๋Ÿฐ ๋‹ค์Œ Button s, Label ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ $ ContentView ๋‚ด๋ถ€์— ์ž์ฒด ์ฝ˜ํ…์ธ ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ ์ด๊ฒƒ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์ง€๋งŒ ์ค‘๋ณต์ด ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ ์ด ๋ฌธ์ œ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ๊ณ ๋ ค๋˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@samhouts ์•ˆ๋…•ํ•˜์„ธ์š”, ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ฌธ์ œ์— ์ฃผ๋ชฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๊ฑฐ์˜ 2๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ๊นŒ์ง€ ์ˆ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์•ˆํƒ€๊น๊ฒŒ๋„ ์‰˜์ด ๋„์ž…๋œ ํ›„์—๋„ ๋ฌธ์ œ๋Š” ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆํƒ€๊น๊ฒŒ๋„ ์šฐ์„ ์ˆœ์œ„๋Š” ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ์˜ 1๋…„์„ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿพ๐Ÿฅ‚ ๐ŸŽ‚

์ผ๋ถ€ ๊ธฐ๋ณธ Android ์•ฑ์— ์„ค๋ช…๋œ ๋™์ž‘์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

dummy

์ด๊ฒƒ์€ ๋ถˆ๋ฉด. ์šฐ๋ฆฌ ์•ฑ์„ ๋‚˜์˜๊ฒŒ ๋ณด์ด๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๊ฝค ์„ฑ๊ฐ€์‹  ์ผ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“ ์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@julioas09 ํ•œ ๋ฒˆ ํ•ด๋ณด์•˜์ง€๋งŒ ๋ฐฉ๋ฒ•์„ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋‘ ๊ฐ€์ง€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹น์‹ ์ด ๊ทธ๋“ค์„ ์ฐธ์กฐํ•˜๊ณ  ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

https://forums.xamarin.com/discussion/99634/is-there-any-way-to-set-navigation-bars-title-be-center-position

https://github.com/officialdoniald/Xamarin.Forms.CustomControls/blob/master/XamarinForms.CustomControls/XamarinForms.CustomControls.Android/CustomRenderer/CustonNavigationPageRenderer.cs

์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ์ผ๋ถ€ UX ๋””์ž์ธ์— ๋งž์ถ”๊ธฐ ์œ„ํ•ด TitleView์˜ ์ค‘์•™์— ์ด๋ฏธ์ง€๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด TitleView ์™ธ๋ถ€์˜ ์™ผ์ชฝ์— ์žˆ๋Š” ๋’ค๋กœ ๋ฒ„ํŠผ์œผ๋กœ ์ธํ•ด ์ด๋ฏธ์ง€๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์˜คํ”„์…‹๋ฉ๋‹ˆ๋‹ค.

titleview

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ์ด๋ฏธ์ง€์™€ ํ•จ๊ป˜ ๋’ค๋กœ ๋ฒ„ํŠผ์ด ์žˆ๋Š” ์ œ๋ชฉ ๋ณด๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ ํƒ์ƒ‰ ํ•ญ๋ชฉ์˜ ๋ฒ„ํŠผ์„ null๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ œ๋ชฉ ๋ณด๊ธฐ๊ฐ€ ํƒ์ƒ‰ ๋ชจ์Œ์˜ ์ „์ฒด ๋„ˆ๋น„๋ฅผ ์ฑ„์šฐ๋„๋ก _ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค_.

์ด๊ฑด ์ง„์งœ ํ•„์š”ํ•ด..... zZz

@programmation ์ด์— ๋Œ€ํ•œ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@jaspervanmegroot
ํ–„๋ฒ„๊ฑฐ ์•„์ด์ฝ˜์„ ์ˆจ๊ธฐ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 <Shell.FlyoutIcon>
        <x:String></x:String>
    </Shell.FlyoutIcon>

๊ทธ๋Ÿฌ๋‚˜ ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์—ฌ์ „ํžˆ ์™ผ์ชฝ ์—ฌ๋ฐฑ์ด ์˜ค๋ฅธ์ชฝ ์—ฌ๋ฐฑ๋ณด๋‹ค ์•ฝ๊ฐ„ ํฝ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ์ผ๋ถ€ UX ๋””์ž์ธ์— ๋งž์ถ”๊ธฐ ์œ„ํ•ด TitleView์˜ ์ค‘์•™์— ์ด๋ฏธ์ง€๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด TitleView ์™ธ๋ถ€์˜ ์™ผ์ชฝ์— ์žˆ๋Š” ๋’ค๋กœ ๋ฒ„ํŠผ์œผ๋กœ ์ธํ•ด ์ด๋ฏธ์ง€๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์˜คํ”„์…‹๋ฉ๋‹ˆ๋‹ค.

titleview

๋Œ€์ฒด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ํƒ์ƒ‰ ๋ชจ์Œ์˜ ๋ฐ˜๋Œ€์ชฝ์— ์•„๋ฌด ์ž‘์—…๋„ ํ•˜์ง€ ์•Š๋Š” ๋”๋ฏธ ๋ฒ„ํŠผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋‹ต๋ณ€์ด ๋Šฆ์–ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” ๋˜ํ•œ ๊ณผ๊ฑฐ์— ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋˜ ๋˜ ๋‹ค๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” Shell์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ ๋„์›€์ด ๋ ์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†์Œ): ํƒ์ƒ‰ ๋ชจ์Œ์˜ ์˜ค๋ฅธ์ชฝ์— ๋”๋ฏธ ๋ฒ„ํŠผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. text color == background color๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•˜๊ณ  ์™ผ์ชฝ ๋ฒ„ํŠผ๊ณผ ๊ฐ™์€ ํ…์ŠคํŠธ๋ฅผ ๊ฐ–๋„๋ก ํ•˜์—ฌ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2020๋…„ 3์›” 24์ผ 20์‹œ 43๋ถ„์— jaspervanmegroot [email protected] ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@programmation https://github.com/programmation ์ด์— ๋Œ€ํ•œ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub https://github.com/xamarin/Xamarin.Forms/issues/4848#issuecomment-603134653 ์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜ https://github.com/notifications/unsubscribe-auth/ACNA4OOTRYXWHCX4GKUPEHDRJB6CLANBANFSM4 ๋ฅผ ๊ตฌ๋… ์ทจ์†Œํ•˜์„ธ์š”.

@programmation ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ ํˆด๋ฐ” ํ•ญ๋ชฉ์„ ๋„ฃ์œผ๋ฉด Shell.TitleView ๋„ ์™ผ์ชฝ์œผ๋กœ ๋ฐ€๋ ค์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ œ๋ชฉ์ด ํ•œ ํŽ˜์ด์ง€์—์„œ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„ ์–ด์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฐ˜๋Œ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

@eli191 ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ด์ƒ์ ์ด์ง€ ์•Š๋‹ค๋Š” ๋ฐ ๋™์˜ํ•˜์ง€๋งŒ XF๊ฐ€ ์ œ๊ณตํ•˜๋Š” NavigationPage ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๊ฐ€์ง„ ์ตœ์„ ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ „๋ฐ˜์ ์œผ๋กœ ๋‚˜๋Š” ๊ธฐ๋ณธ UINavigationController ์— ์ ์šฉ๋œ ์‚ฌ์šฉ์ž ์ •์˜์˜ ํŒฌ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด ์‚ฌ์šฉ์ž ์ •์˜๋Š” ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด์ง€ ๋ถ€๋ถ„์ ์œผ๋กœ ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋žซํผ ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ NavigationBar ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“  ๋‹ค์Œ(์‹ค์ œ๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ) ControlTemplate ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ํŽ˜์ด์ง€์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด _๊ฑฐ์˜_ ๋” ๊ฐ„๋‹จํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. NavigationPage ๋‘˜๋Ÿฌ์‹ธ๋Š” "๊ณต์‹" ํƒ์ƒ‰ ๋ชจ์Œ์„ ์ œ๊ฑฐํ•˜๋Š” ๋™์•ˆ. ํƒ์ƒ‰ ๋ฐฐ๊ฒฝ์— ์‚ฌ์šฉ์ž ์ •์˜ ์ƒ‰์ƒ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ผ์— ๊ด€ํ•ด์„œ๋Š” ํ™•์‹คํžˆ ๋” ๊ฐ„๋‹จํ•  ๊ฒƒ์ด๋ฉฐ ๋˜ํ•œ ์˜ค๋ฅธ์ชฝ _๋ฐ_ ์™ผ์ชฝ ๋ฒ„ํŠผ ์Šคํƒ์„ ์™„์ „ํžˆ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@programmation github์— ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

2020๋…„ 8์›”์—๋„ ์—ฌ์ „ํžˆ ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณง ์ด ๋ฒ„๊ทธ์— ๋Œ€ํ•ด 2๋…„์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ณ ์น  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด์ œ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋ฐ ์Šค์™€์ดํ”„ ๋ทฐ์™€ ๊ฐ™์€ ๋›ฐ์–ด๋‚œ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ œ๋ชฉ์„ ์ค‘์•™์— ๋งž์ถ”๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๊ณง ์ˆ˜์ •๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋งˆ๋„ XF 5์—์„œ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰