ํ์ ์ ๋๋ฉ์ด์ ์ด ๊น๋ฐ์ด๊ณ ์ ธ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋ค์ ํ์ ํ ๋ ์ ์ ๊ฒ์ ์ ํ๋ฉด์ด ํ์๋ฉ๋๋ค.
๋ค๋ก ์ด๋ํ์ญ์์ค.
๊น๋ฐ์ด์ง ๋ง์ญ์์ค.
๊บผ์ง ๊ฒ ๊ฐ์.
๋ฌธ์ ์ ์ฌ๋ก์ฐ ๋ชจ์ ๋น๋์ค : https://i.imgur.com/bWAVzgY.mp4
์ ๋๋ฉ์ด์ ์์ด ์ฌ์ ์๋ฅผ ์ํํ๋ฉด ์ผ์์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ๊น๋ฐ์์ด ์์ต๋๋ค!
protected override bool OnBackButtonPressed()
{Current.Navigation.PopAsync(false); return true;}
์๋ ํ์ธ์ @ z07713! ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋์์ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ถ๊ฐํด์ฃผ์ธ์. ์ ํ์ด์ ๐
ํน์ ๋จ์ํ ํ์์ด ์๋ ๋ค๋ฅธ ์ฝ๋๋ก ์ธํด ๋ฐ์ํ๋ ๊ฒ์ ๋ฐฐ์ ํ๊ธฐ ์ํด ์์ ๋ณต์ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑ ํ ์ ์์ต๋๊น?
๋ํ, iOS์์ ์ด๊ฒ์ ์๋ํ๋๋ฐ ๊ฐ์ ๊ฒ์ ๋ณด์์ต๋๊น? ์๋๋ฉด iOS์์ ์๋ํ์ง ์์์ต๋๊น?
๊ฐ์ฌ!
์๋ ํ์ธ์ @ z07713! ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋์์ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ถ๊ฐํด์ฃผ์ธ์. ์ ํ์ด์ ๐
ํน์ ๋จ์ํ ํ์์ด ์๋ ๋ค๋ฅธ ์ฝ๋๋ก ์ธํด ๋ฐ์ํ๋ ๊ฒ์ ๋ฐฐ์ ํ๊ธฐ ์ํด ์์ ๋ณต์ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑ ํ ์ ์์ต๋๊น?
๋ํ, iOS์์ ์ด๊ฒ์ ์๋ํ๋๋ฐ ๊ฐ์ ๊ฒ์ ๋ณด์์ต๋๊น? ์๋๋ฉด iOS์์ ์๋ํ์ง ์์์ต๋๊น?
๊ฐ์ฌ!
์๋ ํ์ธ์ @jfversluis , ํ์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์์ฒญํ์ ์ฌํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://drive.google.com/open?id=1WkGh6QwTOP380gX4RrRsksSGBoJNWeuc
๋ํ ๋๋ IOS์์ ์ด๊ฒ์ ์๋ํ์ง ์์์ผ๋ฉฐ ๊ทธ๋ ๊ฒ ํ ์์๋ ๋ฅ๋ ฅ์ด ์์ผ๋ฉฐ Mac์ ์์ ํ์ง ์์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค @ z07713 !
์ฌํ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์
protected override bool OnBackButtonPressed() {Current.Navigation.PopAsync(false); return true;}
AppShell.xaml์ ์ฝ๋ ๋ด๋ถ์ ์ ์ฉ๋ ๊ฒฝ์ฐ์๋ง ์๋ํ๋ฉฐ ๋ณ๋์ ํ์ด์ง์ ๋ฐฐ์น ๋ ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด 7072์ ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค
์ต์ฐ์ workground๋ก์ OnPopAsync
์ ShellSection
ํด์ ์ ๋๋ฉ์ด์
์ ๋ ๋ง์ ํ๊ฒ์ด ๋ ์ ์์ต๋๋ค.
public class CustomShellSection : ShellSection
{
protected override Task<Page> OnPopAsync(bool animated)
{
return base.OnPopAsync(false); // ignore the parameter
}
}
@jfversluis ๋๋ฅผ ์ํด ์ด๊ฒ์ iOS (13.3)์์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋๋ฉ์ด์ ์ ๋นํ์ฑํํ๋ ๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ์ต์ ์ด ์๋๋ฉฐ ์ฐ๋ฆฌ๋ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ ์ค์ด์์ต๋๋ค. 4.3์ผ๋ก ๋กค๋ฐฑํด์ผํฉ๋๋ค. ์ด๋ ๋๋ถ๋ถ ์ ธ๊ณผ ์บ ๋ฌ์ ์์ ์ผ๋ถ ๋ฒ๊ทธ๋ฅผ ๋ค์ ์ด ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ผ๋ง๋ ์ค๋ซ๋์ ์์ ํ๋์ง๋ฅผ ๊ฐ์ํ ๋ ์ฌํ ์ผ๋ถ ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๊ณ ํด์ ํด์ผ ํ ๊ฒ์ ๋๋ค.
์ ๋๋ฉ์ด์ ๋นํ์ฑํ ์ธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
1 ์ 16 ์ผ ์ด์ ์์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น? ๊ต์ฅ ํ ๊ฒ์ ๋๋ค. ๊ฐ์ฌ.
PopModal ์ ๋๋ฉ์ด์ ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
@jonx๋ฅผ ๋ค์ผ๋ ์ ๊ฐ์ ๋๋ค. 1 ์ 16 ์ผ ์ด์ ์ ์์ ํ๋๋ผ๋ ๊ทธ ์ ์ ์ถ์ ํ NuGet์ ์ผ๋ถ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋น์ ์ ์๋ฐฉ์ ๋ง๋ ๋ฌด์ธ๊ฐ๋ผ๋ฉด ๋๋ ๊ทธ ์ต์ ์ ๋ด๊ธฐํ์ง ์์ ๊ฒ์ ๋๋ค. ๋ฏธ์ํฉ๋๋ค.
๊ด์ฐฎ์ต๋๋ค @jfversluis , ์ดํดํฉ๋๋ค. ๊ทํ์ ์๊ฒฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ฆด๋ฆฌ์ค๋ฅผ ์ฐ๊ธฐํ๋ฉด๋ฉ๋๋ค.
@ z07713 ์ ์ํ์ ๋ค์ ๊ณต์ ํ ์์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ ์ด์ ๋งํฌ์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์ ๋ง๋ก ๊ฐ์ ๋ฌธ์ ์ธ์ง ํ์ธํ๊ณ ์ถ์ต๋๋ค. ์๋ํ๋ฉด ์ ์๊ฒ๋ ๊ฒ์ ํ๋ฉด ๋์ ๋ด ์ฑ์ ๋ค๋ฅธ ํ๋ฉด์ด ๋ํ๋๋ ๊ฒ์ ์ ๊น ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค (๋ง๋ฒ์ฌ์ ์ปจํ
์คํธ์ ์์ต๋๋ค. ํ์ฌ ํ์ด์ง๋ฅผ ์ด๋ฉด, ๋ด ๋ง๋ฒ์ฌ์ ์ฒซ ํ์ด์ง๊ฐ ์ ์ ๋ํ๋ฉ๋๋ค.) ๊ฐ์ฌ.
@jfversluis 4.4์ ๋ณ๊ฒฝ์ผ๋ก
๋๋ 4.3.991250์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๊ณ ์ค์ ๋ก๋ ์กฐ๊ธ ๋ ๋ถ๋ช ํ ๋ฌธ์ ๊ฐ ์ฌ์ ํ ๋จ์ ์์ต๋๋ค. @ z07713 ์ด ๊ทธ์ ์๋ฅผ ๊ณต์ ํ ์ ์๋ค๋ฉด ๋ ๋ง์ ํ ์คํธ๋ฅผ ํ ๊ฒ์ ๋๋ค ...
@jonx ๊ฑฐ๊ธฐ ์์ต๋๋ค : https://drive.google.com/open?id=19apVlQS0TafFeBT16aCfzvtvCwcweVgS
๋ํ 4.3.0.991211 Forms๊ฐ ์ค์น๋์ด ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์์ต๋๋ค. ๋๋ ์ค์ ๋ฃ์ด ๋ณด์์ต๋๋ค.
๋ณดํธ ๋ ์ฌ์ ์ bool OnBackButtonPressed () {Current.Navigation.PopAsync (false); true๋ฅผ ๋ฐํํ์ญ์์ค. }
๋ด appShell.xaml.cs์ ์๊ณ ๊น๋ฐ์์ด ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ฃผ๋ณ ์์
์ ์ดํดํ๋ ๋ฐ ๋์์ ์ค ์ ์๋ค๋ฉด ... ๋ฉ์ง ๊ฒ์
๋๋ค!
์ ๋๋ฉ์ด์ ๊ณผ ํจ๊ป ์ ธ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. : |
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ํ์ง ์์์ต๋๋ค. ์ฌ์ฉ์๋ก๋ถํฐ์ด ๋ฌธ์ ๊ฐ ๋งค์ฐ ์ฌํ๊ฒ ๋ณด์ธ๋ค๋ ํผ๋๋ฐฑ์ ๋ฐ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๋๊น์ง ์ฑ ์ถ์๋ฅผ ์ฐ๊ธฐํด์ผํฉ๋๋ค.
์ค๋ฅ๋ ์ธ์ ์์ ๋ฉ๋๊น?
Navigation.PushAsyc(<Page Object>,false)
์ฌ์ฉํ์ฌ ์ฝํ
์ธ ํ์ด์ง๋ก ์ด๋ํ ๋ Windows UWP์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ทธ๊ฒ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@jfversluis ์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
@ z07713 ์ฃ์กํ์ง๋ง ์์ง ์ฃ์กํฉ๋๋ค! ์ฐ๋ฆฌ์๊ฒ ๋์์ด ๋ ๋งํ ์๋ก์ด ๋ฐ๊ฒฌ์ ๋ฐ๊ฒฌ ํ์ต๋๊น?
๋ฐ๋ผ์ Xamarin ํ์ UX๋ฅผ ์์ ํ ํ๊ดดํ๋ ๊น๋ฐ์ด๋ ๋ฌธ์ ๋ฅผ ๋ช ๋ฌ ๋์ ์ ์ฅ์์ ๋ณด๊ดํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋์๊ฒ ๋ฏธ์ณค๋ค. ํ์ฌ์ด ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ผ๋ฉฐ ๋ด ์ฑ์ ํ์ํ๋ ๋ฐ ๋ํต์ด ์๊ฒผ๊ธฐ ๋๋ฌธ์ ๋ค์ดํฐ๋ธ๊ฐ๋์ง ์์ ๊ฒ์ ํํํฉ๋๋ค.
@jfversluis ๋๋ ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผ ์ํํ์ผ๋ฉฐ ์ด๊ฒ์ด ๋ฒ๊ทธ๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ณต์ ๋ฅผ ์ํด Xamarin Forms 4.3.0.908675๋ฅผ ์ฌ์ฉํ๋ ํ์ค Visual Studio ํ
ํ๋ฆฟ์ ์ฌ์ฉํ์ต๋๋ค.
์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์์์ต๋๋ค. ํ์ค ํ
ํ๋ฆฟ ์ฑ์์ ๊น๋ฐ์์ด ์์ต๋๋ค.
๊ทธ ํ Xamarin Forms ํจํค์ง๋ฅผ 4.3.0.947036์ผ๋ก ์
๊ทธ๋ ์ด๋ํ์ต๋๋ค.
์ฝ๋๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. ๊น๋ฐ์์ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์๋๋ผ ์ค์ Android ์ฅ์น (์ ๊ฒฝ์ฐ์๋ Samsung Galaxy A40)์์๋ง ๋ํ๋ฉ๋๋ค. ๋ํ iOS ์๋ฎฌ๋ ์ดํฐ ๋๋ iPhone 8์๋ ๋ํ๋์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ๊น๋ฐ์์ ์ ๋ฐํ๋ ๋ ๋ฒ์ ๊ฐ์ ๋ณ๊ฒฝ์ด ์์ด์ผํฉ๋๋ค.
๋๋ฐ! ์๋ ํ์ธ์.
@jfversluis ์ธ๊ธ ํ ๊ฐ์น๊ฐ์๋ ์ ์ผํ ๊ฒ์์ด ๋๋ฌธ์ ์ ์ฌ์ฉ์ ์์ ํ ์ค๋จํ๋ค๋ ๊ฒ์ ๋๋ค.
์ด @AndreasLichtsinn์ ๋ํด ์กฐ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋งค์ฐ ๊ท์คํ ์ ๋ณด :)
๊น๋ฐ์ ๋ฌธ์ ์ ๋ํด ํ ๊ฐ์ง ๋ ์ฐพ์์ต๋๋ค.
ํ
ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ์
ธ ์ฑ์ ๋ง๋ค ๋ ํญ๋ชฉ ํ์ (ItemsPage ๋ค์์๋ ์ฝ๋)์ "Navigation.PushAsync (new ItemDetailPage ())"์์ "Shell.Current.GoToAsync ("itemDetailPage ", false)๋ก ๋ณ๊ฒฝํ๋ฉด "๊ทธ๋ฌ๋ฉด Android ๊ธฐ๊ธฐ์์ ๊น๋ฐ์์ด ํ์๋ฉ๋๋ค. Xamarin.Forms์ ์๋ 4.3.xxx ๋ฐ ์ต์ 4.5.xxx ๋ฒ์ ์์ ์ด๊ฒ์ ํ์ธํ์ต๋๋ค.
์์งํ ๋งํด์ ์ ธ ํ์์๋ ๋ช ๊ฐ์ง ํ์ ๋ฌธ์ (ํ์ด์ง ๊ฐ ํ์, ๋งค๊ฐ ๋ณ์ ์ ๋ฌ ๋ฑ)๊ฐ ์์ง๋ง์ด ๋ฒ๊ทธ๋ ์ค์ ๋ก ๋ด ๋ฆด๋ฆฌ์ค๋ฅผ ์ฐจ๋จํ๊ณ ์์ผ๋ฉฐ ์ ธ์ ์์ ํ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ญ๋๋ค. ๊ทธ๋ฌ๋ ์ต๋ํ ๋นจ๋ฆฌ ๋ฒ๊ทธ๋ฅผ ์์ ํด์ฃผ์ธ์ !!!
์๋ ํ์ธ์, ์์์ ์ค๋ช ํ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋์ ๋ณด์ด๋ ํด๊ฒฐ์ฑ ์ด ์๋์ง ์๊ณ ์ถ์ต๋๋ค.
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ ๋๋ฉ์ด์ ์ ๋นํ์ฑํํ๋ฉด ํนํ Back Button Pop์ผ๋ก ์ฝ๊ฒ ํ ์์๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐํ์ง ์์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๋น ๋ฅด๊ฒ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ฒ์ 4.3.0.90867์์ ๊น๋ฐ์์ด ์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ ๋ฒ์ ์ ํ ์คํธํ์ง ์์์ง๋ง ๋ฒ์ 4.5.0.356์์ ๋ฌธ์ ๊ฐ ์ฌ์ ํ ์ง์๋ฉ๋๋ค.
์ด ๋ฌธ์ ๋ ๋ง์ง๋ง ์์ ๋ฒ์ ์์ ์ฌ์ ํ ์ง์๋ฉ๋๋ค.
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ ๋๋ฉ์ด์ ์ ๋นํ์ฑํํ๋ฉด ํนํ Back Button Pop์ผ๋ก ์ฝ๊ฒ ํ ์์๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐํ์ง ์์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๋น ๋ฅด๊ฒ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@kevinjpetersen ์ด๊ฒ์ ์ต๋ํ ๋นจ๋ฆฌ ํด๊ฒฐํ ์์๋ ๊ฒฝ์ฐ์๋ง ๋ฐ์ํฉ๋๋ค. ์๋ 11 ์ ์ค์๋ถํฐ ๊ฐ์ฅํ์ต๋๋ค.
์ต๊ณ ์ ๊ธ์! ์์ ์ฌํญ์ v 4.3.0.90867์์ @tdamir ๊ฒฐ๊ณผ๋ฅผ ์ํํ๋ ๊ฒ์ ๋๋ค.
์ถ๊ฐ ์ ๋ณด :์ด ์ปค๋ฐ์ ๋ฒ๊ทธ๊ฐ ๋์ ๋์์ต๋๋ค : https://github.com/xamarin/Xamarin.Forms/commit/2b4ccdc88f8db7a2a0b78a1adf3428125eb677b5
์ด ์ค์ ์ฃผ์ ์ฒ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499
๊น๋ฐ์์ด ์์ต๋๋ค.
๋๋ณด๋ค ๋ ๋ง์ ๊ฒฝํ์ด์๋ ์ฌ๋์ด ์ด๊ฑธ ๋ค์ฌ๋ค ๋ณผ ์ ์๊ฒ ์ง ...
๋๋ ์ด๊ฒ์ ๋๋ฒ๊น ํ๊ณ ์ฒ์์ ํ์ด์ง๋ฅผ ์ ๊ฑฐํ ๋ค์ ๋ด๋น๊ฒ์ด์ ์ ํธ์ถํ๋ฉด ๊ด์ฐฎ์ ๊ฒ์ ๋๋ค. ๊น๋ฐ์์ด ์์ต๋๋ค.
๊ทธ๋์ ์ฌ๊ธฐ : https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L600
์ด๊ฒ์ ๋ณ๊ฒฝํ์ญ์์ค :
_navigationRequested?.Invoke(this, args);
if (args.Task != null)
await args.Task;
RemovePage(page);
์ด์:
RemovePage(page);
_navigationRequested?.Invoke(this, args);
if (args.Task != null)
await args.Task;
@tdamir ์์ฃผ ์ข์ ๋ฐ๊ฒฌ!
๊ทํ์ ๊ฒฐ๊ณผ๊ฐ ์ ํํ @tdamir ๋ฅผ ์ ๊ณตํ๋ฉด UI-Thread-UI์์ ์ปจํ
์คํธ ์ ํ์ผ๋ก ์ธํด args.Task
๊ฐ ๋๊ธฐ ํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์์ ์ ํญ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค
Android์์๋์ด ๋ฉ์๋์ args.Task
๊ฐ ํญ์ Task.FromResult(...)
์ด์ง๋ง
https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L134
ํ์ง๋ง ๋ ๊ฐ๋ฅ์ฑ์๋ ๋ฒ์ธ์ด ๋ฐ๊ฒฌ๋์๋ค๊ณ ์๊ฐํ์ธ์
https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L252 -L259
ํ์์ ๋ฐฐ๊ฒฝ์์ด ๋ณ๊ฒฝ๋ฉ๋๋ค (ํญ์ ํ์คํ์ง๋ ์์)! ์?
๋ํ ํญ ๋ด์์๋ง ๊น๋ฐ์์ด ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํด์ผ ํ ๋ง์ ํ ์คํธ.
@tdamir ๋ฐ @ahmedalejo ๋๋จํ ์์ ! :)
@ahmedalejo ์ฟจ fidings! ๊ทธ๋ฅ ํญ์ด๋ผ๊ณ ๋ ์๊ฐํ์ง ์์ต๋๋ค. ๋๋ ๋๊ฐ์ ๊น๋ฐ์์ด ์๊ณ ๋ด๊ฐ ๊ฐ์ง ๊ฒ์ ๋ด AppShell (์ผ๋ช TabBar ์์)์ ์์ต๋๋ค.
<?xml version="1.0" encoding="UTF-8"?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:views="clr-namespace:MyApp.Views"
mc:Ignorable="d"
Title="MyApp"
Visual="Material"
Shell.BackgroundColor="{StaticResource JFBlack}"
Shell.TitleColor="{StaticResource JFWhite}"
Shell.ForegroundColor="{StaticResource JFWhite}"
FlyoutBehavior="Disabled"
Shell.TabBarIsVisible="False"
x:Class="MyApp.AppShell">
<ShellContent Route="login">
<views:LoginPage />
</ShellContent>
<ShellContent Route="overview">
<views:OverviewPage />
</ShellContent>
</Shell>
@ahmedalejo ๋ค, ์์ ๋ณ๊ฒฝ ๋ถ๋ถ์ด ์ด์ํ์ง๋ง ์ ๊ฑฐํด๋ ์ฌ์ ํ ๊น๋ฐ์ ๋๋ค.
ํ์ํ๊ธฐ ์ ์ https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499 ๋ฅผ ํธ์ถํด์ผํฉ๋๋ค.
์๋ ํ์ธ์ @PureWeen ๊ณผ @rmarinho
์๋์์ SendAppearanceChange()
์ ํํ๋ ์ด์ ๋ฅผ ์์๊ฒ ์ต๋๊น?
https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499
๊น๋ฐ์ด๋ ์์ธ์ด๋ฉ๋๊น?
๋๊ตฐ๊ฐ๊ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์กฐ์ธ ํ ์ ์์ต๋๊น?
์๋ฃจ์
protected override bool OnBackButtonPressed()
{
Current.Navigation.PopAsync(false); return true;
}
์๋ํ์ง ์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค (https://github.com/xamarin/Xamarin.Forms/issues/8581#issuecomment-569583965 ๋๋ถ์).
public class CustomTab : Tab
{
protected override Task<Page> OnPopAsync(bool animated)
{
// temporary workaround while https://github.com/xamarin/Xamarin.Forms/issues/8581 not fixed
return base.OnPopAsync(animated: false);
}
}
๊ทธ๋ฐ ๋ค์ XAML์์ CustomTab์ ์ฌ์ฉํฉ๋๋ค.
์๋ ์์ ์ ํ๋์จ์ด ๋ค๋ก ๋ฒํผ ํ์์์๋ง ์๋ํฉ๋๋ค (๋ค๋ฅธ ๋ค๋ก ํ์ ์ผ์ด์ค์์๋ ์๋ํ์ง ์์).
protected override bool OnBackButtonPressed()
{
Current.Navigation.PopAsync(false); return true;
}
๊ฐ์ฌํฉ๋๋ค @pfedotovsky ๋๋ ํญ ํ์๊ณผ ๊ด๋ จ์ด์์ ์๋ ์์ต๋๋ค.
4.3 ์ดํ Android์์ ๊น๋ฐ์์ด ๋ฐ์ํ์ต๋๋ค.
์ด ๋ฒ๊ทธ๊ฐ 1 ๋ ๊ธฐ๋ ์ผ์ ์์์ ๋ฐฉ๊ธ ๋ฐ๊ฒฌํ์ต๋๋ค. [Shell] ํ์-๊น๋ฐ์ # 5755
ํ๋ฉด์ด ๊น๋ฐ์ผ ๋๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด :
https://github.com/mallibone/ShellLoginSample
@ahmedalejo๋ฅผ ํ์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ถ์ ํ๊ณ ์์ ํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค.
๋น๋๊ฐ ์๋ฃ๋๋ฉด ๋๊ตฐ๊ฐ๊ฐ ๋๊ฒ์ ํ ์คํธํ๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ์๋ ค์ฃผ๊ณ ์ถ๋ค๋ฉด ๋์์ด ๋ ๊ฒ์ ๋๋ค.
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
xaminals ์ํ๋ก ๋๊ฒ์ ํ ์คํธํ์ต๋๋ค.
https://github.com/xamarin/Xamarin.Forms/issues/6294
๊ทธ๋ฆฌ๊ณ ์ด ๋๊ฒ์ ์ฌ์ฉํ๋ฉด ๊น๋ฐ์์ด ๋ ์ด์ ๋ฐ์ํ์ง ์์ต๋๋ค.
@PureWeen Ok ๊ทธ๋์ ํ ์คํธ๋ฅผํ์ต๋๋ค.
Xamarin Forms 4.3.0.908675-> ๊น๋ฐ์ ์์์ผ๋ก ์ ์
ธ ์ํ ์ฑ์ ๋ง๋ค์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ ์์ ๋ 4.5.0.495๋ก ์
๋ฐ์ดํธํ์ต๋๋ค.-> ๊น๋ฐ์
๊ทธ๋ฐ ๋ค์ ์ต์ ๋ฆด๋ฆฌ์ค 4.6.0.1693์ผ๋ก ์
๋ฐ์ดํธํ์ต๋๋ค.-> ๊น๋ฐ์ ์์
ํ๋ฅญํ ์ผ! ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ํ์ธํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@PureWeen Ok ๊ทธ๋์ ํ ์คํธ๋ฅผํ์ต๋๋ค.
Xamarin Forms 4.3.0.908675-> ๊น๋ฐ์ ์์์ผ๋ก ์ ์ ธ ์ํ ์ฑ์ ๋ง๋ค์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ ์์ ๋ 4.5.0.495๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค.-> ๊น๋ฐ์
๊ทธ๋ฐ ๋ค์ ์ต์ ๋ฆด๋ฆฌ์ค 4.6.0.1693์ผ๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค.-> ๊น๋ฐ์ ์์ํ๋ฅญํ ์ผ! ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ํ์ธํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@AndreasLichtsinn์์ Xamarin Forms 4.6.0.1693์ ์ฐพ์ ์ ์์ต๋๋ค.
@PureWeen Ok ๊ทธ๋์ ํ ์คํธ๋ฅผํ์ต๋๋ค.
Xamarin Forms 4.3.0.908675-> ๊น๋ฐ์ ์์์ผ๋ก ์ ์ ธ ์ํ ์ฑ์ ๋ง๋ค์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ ์์ ๋ 4.5.0.495๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค.-> ๊น๋ฐ์
๊ทธ๋ฐ ๋ค์ ์ต์ ๋ฆด๋ฆฌ์ค 4.6.0.1693์ผ๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค.-> ๊น๋ฐ์ ์์ํ๋ฅญํ ์ผ! ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ํ์ธํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@AndreasLichtsinn ๋๋ 1693 ๋น๋๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค! ๋ํ 4.7.0.531-nightly๊ฐ ์ฌ์ ํ ๊น๋ฐ์ ๋๋ค.
@angelru @RsZoli PureWeen ์ด ๊ฒ์ ํ ์ํฐํฉํธ์ ์์ต๋๋ค.
@angelru ํ ์คํธ
@angelru ํ ์คํธ
@PureWeen ํ ์คํธ ํ ์ ์์ต๋๋ค. ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค.
์ค ๋น์ ์ @AndreasLichtsinn ์ ์ธ์ฉ
ํ ์คํธ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค @AndreasLichtsinn !!!
์ ์ ค๋ฃจ
๋งํฌ๋ก ์ด๋ :
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ธ์ :
๊ทธ๋ฐ ๋ค์ ์ฌ๊ธฐ :
๊ทธ๋ฐ ๋ค์ zip์ ์์ถ์ ํ๊ณ ์ด ํด๋์ ๋ก์ปฌ nuget ํจํค์ง ์์ค๋ฅผ ๋ง๋ญ๋๋ค.
๊ทธ๋ฐ ๋ค์์ด ๋ก์ปฌ ํจํค์ง ์์ค๋ฅผ ์ ํํ๊ณ ๊ฑฐ๊ธฐ์์ ์ค์นํฉ๋๋ค.
์ ์ ค๋ฃจ
๋งํฌ๋ก ์ด๋ :
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ธ์ :
๊ทธ๋ฐ ๋ค์ ์ฌ๊ธฐ :
๊ทธ๋ฐ ๋ค์ zip์ ์์ถ์ ํ๊ณ ์ด ํด๋์ ๋ก์ปฌ nuget ํจํค์ง ์์ค๋ฅผ ๋ง๋ญ๋๋ค.
๊ทธ๋ฐ ๋ค์์ด ๋ก์ปฌ ํจํค์ง ์์ค๋ฅผ ์ ํํ๊ณ ๊ฑฐ๊ธฐ์์ ์ค์นํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค !!! ํจ๊ณผ๊ฐ์๋ค!
Xamarin Forms 4.6.0.1693์ ๊น๋ฐ์์ด ์์์ ํ์ธํ ์ ์์ต๋๋ค.
๊ฐ์ฌ!
ํ์ # 10158
์ต์ Xamarin ์์ 4.8๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. iOS์์ TextType = 'Html'๋ ์ด๋ธ์ด์๋ ํ์ด์ง๊ฐ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๊ฒ์ ํ์ธํ์ต๋๋ค.
์๋ก์ด ๋ฌธ์ ๋ฅผ ์ด์์ต๋๋ค. # 12385
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
xaminals ์ํ๋ก ๋๊ฒ์ ํ ์คํธํ์ต๋๋ค.
https://github.com/xamarin/Xamarin.Forms/issues/6294
๊ทธ๋ฆฌ๊ณ ์ด ๋๊ฒ์ ์ฌ์ฉํ๋ฉด ๊น๋ฐ์์ด ๋ ์ด์ ๋ฐ์ํ์ง ์์ต๋๋ค.