It's up to you, but mostly, yeah, you write out as much into the shared code area (C#) as possible then, write up/wire up your UI layer using native layout tooling. How far you go to using stuff like iOS storyboards or just doing code-based implementations (C#) is up to you. You have the flexibility.
This yields a massive reduction in time and cost associated with managing multiple code bases while holding onto the native experience.
It's not quite as fluid as html+css, but you don't hear nearly the performance-horror stories.