0
votes

I'm working on an app that uses MonoTouch, MonoDroid, and MvvmCross. My app has a screen that has tabs. I need that screen to work on both Android and iOS devices. In looking at the tutorials, it seems that tabs were recently "modernized". This has lead me to two questions:

  1. I noticed the use of a new MvxTabsFragmentActivity (here). My question is, where can I get the binaries that have this class? I can't find it in the binaries I've downloaded. I'm currently using the 3.0 binaries.

  2. Does the Tab Fragment approach also work on iOS? The tutorial only has an Android sample. I'm concerned that if I build my view models to work with the fragmented approach that they will not work on iOS. I'm concerned I'm starting down an Android specific path.

Thank you for any insights.

1

1 Answers

1
votes

I can't find it in the binaries I've downloaded

All the MvvmCross binaries are released via https://github.com/slodge/MvvmCross-Binaries/ - or you can hopefully find them via nuget

To find out which ones are used take a look at the csproj file for the sample - https://github.com/slodge/MvvmCross-Tutorials/blob/master/Fragments/FragmentSample.UI.Droid/FragmentSample.UI.Droid.csproj#L49

<Reference Include="Cirrious.CrossCore, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Portable\Cirrious.CrossCore.dll</HintPath>
</Reference>
<Reference Include="Cirrious.CrossCore.Droid, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Droid\Cirrious.CrossCore.Droid.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Portable\Cirrious.MvvmCross.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Binding, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Portable\Cirrious.MvvmCross.Binding.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Binding.Droid, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Droid\Cirrious.MvvmCross.Binding.Droid.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Droid, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Droid\Cirrious.MvvmCross.Droid.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Droid.Fragging, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Lib\Mvx\Droid\Cirrious.MvvmCross.Droid.Fragging.dll</HintPath>
</Reference>

Hint: The last one is about fragments


Does the Tab Fragment approach also work on iOS?

There are a couple of samples around that show tabs on iOS:

The conference sample shows tabs quite in-depth - including nested UINavigationControllers using a custom presenter:

http://i.imgur.com/lVPv1.png