public override sealed void ViewDidLoad()
        {
            if (!_viewConstructed)
            {
                return;
            }

            base.ViewDidLoad();

            // Create and set tabs.
            var viewControllers = new[]
            {
                CreateTabViewController <DetailsTabView>("Details", "DetailsTabBarIcon", 0),
                CreateTabViewController <ConversationsTabView>("Conversations", "ConversationsTabBarIcon", 1),
                CreateTabViewController <FilesTabView>("Files", "FilesTabBarIcon", 2),
                CreateTabViewController <TasksTabView>("Tasks", "TasksTabBarIcon", 3)
            };

            ViewControllers        = viewControllers;
            SelectedViewController = ViewControllers.First();

            // "Bind" the network activity indicator to the loading property.
            UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;
            ViewModel.WeakSubscribe((sender, e) =>
            {
                if (e.PropertyName != nameof(ViewModel.IsLoading))
                {
                    return;
                }
                UIApplication.SharedApplication.NetworkActivityIndicatorVisible = ViewModel.IsLoading;
            });
        }