public override void ViewDidLoad() { base.ViewDidLoad(); NavigationItem.Title = "Add Review"; UpdateFonts(); AddStartRatingView(); var set = this.CreateBindingSet <MovieReviewView, MovieReviewViewModel>(); set.Bind(titleTextField).For(p => p.Text).To(vm => vm.Title); set.Bind(commentsTextField).For(p => p.Text).To(vm => vm.Review); set.Bind(view).For(p => p.Value).To(vm => vm.Rating); set.Bind(ratingCount).For(p => p.Text).To(vm => vm.Rating).Mode(MvvmCross.Binding.MvxBindingMode.OneWay); set.Apply(); SetupNavigationBar(); ViewModel.PropertyChanged += ViewModel_PropertyChanged; writeReviewButton.BackgroundColor = UIColorUtils.GetAppThemeColor(); writeReviewButton.Layer.CornerRadius = 10; writeReviewButton.Layer.MasksToBounds = true; cancelButton.BackgroundColor = UIColorUtils.GetAppThemeColor(); cancelButton.Layer.CornerRadius = 10; cancelButton.Layer.MasksToBounds = true; View.AddGestureRecognizer(new UITapGestureRecognizer(DismissKeyboard)); }
protected override UICollectionViewCell GetOrCreateCellFor(UICollectionView collectionView, NSIndexPath indexPath, object item) { var cell = (GenreCollectionCell)base.GetOrCreateCellFor(collectionView, indexPath, item); if (cell is IMvxDataConsumer dataConsumer) { var dataItem = (Genre)item; dataConsumer.DataContext = dataItem; if (dataItem.IsSelected) { cell.BackgroundColor = UIColorUtils.GetAppThemeColor(); cell.UpdateLabelColor(UIColor.White); cell.Selected = true; cell.Layer.BorderWidth = 0f; cell.Layer.ShadowColor = UIColorUtils.GetAppThemeColor().CGColor; cell.Layer.ShadowOffset = new CGSize(1.0, 2.0); cell.Layer.ShadowRadius = 1.5f; cell.Layer.ShadowOpacity = 1.0f; cell.Layer.MasksToBounds = false; } else { cell.BackgroundColor = UIColorUtils.GetBorderColor(); cell.UpdateLabelColor(UIColorUtils.GetAppTextLightColor()); cell.Layer.ShadowOffset = new CGSize(0.0, 0.0); cell.Layer.ShadowRadius = 0.0f; cell.Layer.ShadowOpacity = 0.0f; } } return(cell); }
public override void ViewDidLoad() { base.ViewDidLoad(); ImageService .Instance .LoadUrl(ViewModel.MovieDetails.PosterUrl) .Into(posterImageView); tagsCollectionView.RegisterNibForCell(GenreCollectionCell.Nib, GenreCollectionCell.Key); var source = new GenreCollectionViewFlowLayoutSource(tagsCollectionView, GenreCollectionCell.Key); tagsCollectionView.Delegate = source; tagsCollectionView.Source = source; var set = this.CreateBindingSet <MovieDetailsView, MovieDetailsViewModel>(); set.Bind(titleLabel).For(p => p.Text).To(vm => vm.MovieDetails.Title); set.Bind(releaseDateLabel).For(p => p.Text).To(vm => vm.MovieDetails.ReleaseDate); set.Bind(ratingLabel).For(p => p.Text).To(vm => vm.MovieDetails.VoteAverage); votesLabel.Text = $" - {ViewModel.MovieDetails.VoteCount} Votes"; set.Bind(overviewLabel).For(p => p.Text).To(vm => vm.MovieDetails.Overview); set.Bind(source).For(p => p.ItemsSource).To(vm => vm.MovieDetails.Genres); //Review view bindings set.Bind(reviewTitleLabel).For(p => p.Text).To(vm => vm.CurrentMovieReview.Title); set.Bind(reviewRatingView).For(p => p.Text).To(vm => vm.CurrentMovieReview.Rating); set.Bind(reviewDetailsTextView).For(p => p.Text).To(vm => vm.CurrentMovieReview.Review); set.Apply(); scrollView.ContentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.Never; if (ViewModel.CurrentMovieReview != null) { reviewView.Hidden = false; AddAttachment(); } else { reviewView.Hidden = true; } UpdateFavoriteStatus(); writeReviewButton.BackgroundColor = UIColorUtils.GetAppThemeColor(); writeReviewButton.Layer.CornerRadius = 10; writeReviewButton.Layer.MasksToBounds = true; attachmentImageView.Layer.CornerRadius = attachmentImageView.Frame.Height / 3; attachmentImageView.Layer.MasksToBounds = true; UpdateFonts(); ViewModel.PropertyChanged += ViewModel_PropertyChanged; }
private void AddStartRatingView() { view = new RatingView(); view.Frame = starRating.Bounds; view.Path = PathConstants.Star; view.ColorOn = UIColorUtils.GetAppThemeColor(); view.OutlineOffColor = UIColorUtils.GetAppTextDarkColor(); view.Value = ViewModel.Rating == null ? 0 : (double)ViewModel.Rating; view.ValueChanged += View_ValueChanged; starRating.AddSubview(view); }
private void UpdateFavoriteStatus() { if (ViewModel.MovieDetails.IsFavorite) { favoriteImageView.Image = UIImage.FromBundle("favorite-filled").ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); favoriteImageView.TintColor = UIColor.Red; } else { favoriteImageView.Image = UIImage.FromBundle("favorite-gray").ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); favoriteImageView.TintColor = UIColorUtils.GetAppTextLightColor(); } }
protected override UICollectionViewCell GetOrCreateCellFor(UICollectionView collectionView, NSIndexPath indexPath, object item) { var cell = (GenreCollectionCell)base.GetOrCreateCellFor(collectionView, indexPath, item); if (cell is IMvxDataConsumer dataConsumer) { var dataItem = (string)item; dataConsumer.DataContext = dataItem; cell.BackgroundColor = UIColorUtils.GetBorderColor(); cell.UpdateLabelColor(UIColorUtils.GetAppTextLightColor()); } return(cell); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { // create a new window instance based on the screen size //Window = new UIWindow(UIScreen.MainScreen.Bounds); //Window.RootViewController = new UIViewController(); // make the window visible //Window.MakeKeyAndVisible(); UITabBar.Appearance.TintColor = UIColorUtils.GetAppThemeColor(); UINavigationBar.Appearance.SetTitleTextAttributes(new UITextAttributes() { Font = FontUtils.GetBoldFont(20) }); return(base.FinishedLaunching(application, launchOptions)); }
protected override UICollectionViewCell GetOrCreateCellFor(UICollectionView collectionView, NSIndexPath indexPath, object item) { if (currentViewModel is DiscoverViewModel discoverViewModel) { if (discoverViewModel.ViewType == ViewType.List) { var listCell = (MovieListCell)collectionView.DequeueReusableCell(MovieListCell.Key, indexPath); listCell.favoriteButtonImplementor = this; if (((Movie)item).IsFavorite) { listCell.favoriteImageView.Image = UIImage.FromBundle("favorite-filled").ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); listCell.favoriteImageView.TintColor = UIColor.Red; } else { listCell.favoriteImageView.Image = UIImage.FromBundle("favorite-gray").ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); listCell.favoriteImageView.TintColor = UIColorUtils.GetAppTextLightColor(); } return(listCell); } } var cell = (MovieCollectionCell)base.GetOrCreateCellFor(collectionView, indexPath, item); cell.favoriteButtonImplementor = this; var movie = (Movie)item; if (movie.IsFavorite) { cell.favoriteImageView.Image = UIImage.FromBundle("favorite-filled").ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); cell.favoriteImageView.TintColor = UIColor.Red; } else { cell.favoriteImageView.Image = UIImage.FromBundle("favorite-gray").ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); cell.favoriteImageView.TintColor = UIColorUtils.GetAppTextLightColor(); } return(cell); }