public override IMvxIosView CreateViewOfType(Type viewType, MvvmCross.Core.ViewModels.MvxViewModelRequest request) { var requestedType = viewType; if (request is ProxyViewModelRequest viewModelRequest) { requestedType = viewModelRequest.ViewType; } if (viewType == typeof(HomeViewController)) { return(base.CreateViewOfType(requestedType, request)); } try { var attr = requestedType.GetCustomAttributes(false).OfType <MvxFromStoryboardAttribute>().FirstOrDefault(); var storyboard = UIStoryboard.FromName(attr == null ? "Home" : attr.StoryboardName, null); // the actual file name of storyboard ( may be different from .cs file) return((IMvxIosView)storyboard.InstantiateViewController(requestedType.Name)); } catch (Exception ex) { Console.Write(ex); Console.WriteLine("request: " + (request == null)); Console.WriteLine("requestedType: " + (requestedType == null)); return(base.CreateViewOfType(requestedType, request)); } }
protected override IMvxIosView CreateViewOfType(Type viewType, MvvmCross.Core.ViewModels.MvxViewModelRequest request) { UIStoryboard storyboard; try { storyboard = UIStoryboard.FromName(viewType.Name, null); } catch (Exception) { return(base.CreateViewOfType(viewType, request)); } var view = storyboard.InstantiateViewController(viewType.Name); return((IMvxIosView)view); }
public override IMvxIosView CreateView(MvvmCross.Core.ViewModels.MvxViewModelRequest request) { var view = CreateViewFromViewModelType(request.ViewModelType); if (view == null) { var viewType = GetViewType(request.ViewModelType); if (viewType == null) { throw new MvxException("View Type not found for " + request.ViewModelType); } view = CreateViewOfType(viewType, request); } view.Request = request; return(view); }
protected override IMvxIosView CreateViewOfType(Type viewType, MvvmCross.Core.ViewModels.MvxViewModelRequest request) { return(CreateView(viewType.Name)); }
public override void Show(MvvmCross.Core.ViewModels.MvxViewModelRequest request) { base.Show(request); }