public static async Task LoadUrl(this UIImageView imageView, string url) { if (string.IsNullOrEmpty (url)) return; var progress = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.WhiteLarge) { Center = new PointF(imageView.Bounds.GetMidX(), imageView.Bounds.GetMidY()), }; imageView.AddSubview (progress); var t = FileCache.Download (url); if (t.IsCompleted) { imageView.Image = UIImage.FromFile(t.Result); progress.RemoveFromSuperview (); return; } progress.StartAnimating (); var image = UIImage.FromFile(await t); UIView.Animate (.3, () => imageView.Image = image, () => { progress.StopAnimating (); progress.RemoveFromSuperview (); }); }
public static void BringSubviewToFront(this NSView superView, NSView theView) { if(theView == null || !superView.Subviews.Contains(theView)) return; theView.RemoveFromSuperview(); superView.AddSubview(theView); }
public static void DismissKeyboard(this UIView view) { var tv = new UITextField (new RectangleF(-100,-100,1,1)); view.AddSubview (tv); tv.BecomeFirstResponder (); tv.ResignFirstResponder (); tv.RemoveFromSuperview (); tv.Dispose (); }
public static void ShowMessage(this UIView parentView, string message) { var hud = new MTMBProgressHUD (parentView) { DetailsLabelText = message, RemoveFromSuperViewOnHide = true, DimBackground = false, AnimationType = MBProgressHUDAnimation.MBProgressHUDAnimationZoomIn, Mode = MBProgressHUDMode.Text, UserInteractionEnabled = true }; parentView.AddSubview (hud); hud.Show (true); hud.Hide (true, 1.5); }
public static void ShowToast (this UIView context, UIView toast, double duration, object point) { toast.Center = CenterPointForPosition (context, point, toast); toast.Alpha = 0.0f; if (CSToastHidesOnTap) { UITapGestureRecognizer recognizer = new UITapGestureRecognizer (() => HandleToastTapped (toast)); toast.AddGestureRecognizer (recognizer); toast.UserInteractionEnabled = true; toast.ExclusiveTouch = true; } context.AddSubview (toast); UIView.Animate (CSToastFadeDuration, 0.0, UIViewAnimationOptions.CurveEaseOut | UIViewAnimationOptions.AllowUserInteraction, () => toast.Alpha = 1.0f, () => { Timer timer = new Timer (t => ToastTimerDidFinish (toast)); timer.Change ((int)(duration*1000), Timeout.Infinite); } ); }
public static void MakeToastActivity (this UIView context, object position) { // sanity if (_ExistingActivityView != null) return; var activityView = new UIView (new RectangleF (0f, 0f, CSToastActivityWidth, CSToastActivityHeight)); activityView.Center = CenterPointForPosition (context, position, activityView); activityView.BackgroundColor = UIColor.Black.ColorWithAlpha (CSToastOpacity); activityView.Alpha = 0f; activityView.AutoresizingMask = UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleBottomMargin; activityView.Layer.CornerRadius = CSToastCornerRadius; if (CSToastDisplayShadow) { activityView.Layer.ShadowColor = UIColor.Black.CGColor; activityView.Layer.ShadowOpacity = CSToastShadowOpacity; activityView.Layer.ShadowRadius = CSToastShadowRadius; activityView.Layer.ShadowOffset = CSToastShadowOffset; } UIActivityIndicatorView activityIndicatorView = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.WhiteLarge); activityIndicatorView.Center = new PointF (activityView.Bounds.Size.Width/2, activityView.Bounds.Size.Height/2); activityView.AddSubview (activityIndicatorView); activityIndicatorView.StartAnimating (); // associate the activity view with self _ExistingActivityView = activityView; context.AddSubview (activityView); UIView.Animate (CSToastFadeDuration, 0.0, UIViewAnimationOptions.CurveEaseOut, () => activityView.Alpha = 1.0f, null); }
public static void AddBlur (this UIImageView imageView, UIBlurEffectStyle style) { var blurView = Blur.Create (imageView.Frame, style); imageView.AddSubview (blurView); }
public static void ShowToastViewAtPosition(this UIView self,UIView toast,double interval,ToastPosition position) { /**************************************************** * * * Displays a view for a given duration & position. * * * ****************************************************/ CGPoint toastPoint = self.GetPositionFor(position,toast); ToastAnimationHolder holder = new ToastAnimationHolder(interval); toast.Center = toastPoint; toast.Frame = CGRectMake (toast.Frame.X, toast.Frame.Y, toast.Frame.Width, toast.Frame.Height); toast.Alpha = 0.0f; self.AddSubview(toast); UIView.BeginAnimations("fade_in",toast.Handle); UIView.SetAnimationDuration(kFadeDuration); UIView.SetAnimationDelegate(holder); UIView.SetAnimationDidStopSelector(new Selector("toastAnimationDidStop:finished:context:")); UIView.SetAnimationCurve(UIViewAnimationCurve.EaseOut); toast.Alpha=1.0f; UIView.CommitAnimations(); }
public static void MakeToastActivity(this UIView self,string position=kActivityDefaultPosition) { // prevent more than one activity view UIView existingToast = self.ViewWithTag(kActivityTag); if (existingToast != null) { existingToast.RemoveFromSuperview(); } UIView activityContainer = new UIView(CGRectMake(0, 0, kActivityWidth, kActivityHeight)); activityContainer.Center = self.GetPositionFor(new ToastPosition(position),activityContainer); activityContainer.BackgroundColor = UIColor.Black.ColorWithAlpha(kOpacity); activityContainer.Alpha = 0.0f; activityContainer.Tag = kActivityTag; activityContainer.AutoresizingMask=(UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleBottomMargin); activityContainer.Layer.CornerRadius=kCornerRadius; if (kDisplayShadow) { activityContainer.Layer.ShadowColor=UIColor.Black.CGColor; activityContainer.Layer.ShadowOpacity=0.8f; activityContainer.Layer.ShadowRadius=6.0f; activityContainer.Layer.ShadowOffset=CGSizeMake(4.0f, 4.0f); } UIActivityIndicatorView activityView = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge); activityView.Center=CGPointMake(activityContainer.Bounds.Size.Width / 2, activityContainer.Bounds.Size.Height / 2); activityContainer.AddSubview(activityView); activityView.StartAnimating(); UIView.BeginAnimations(null); UIView.SetAnimationDuration(kFadeDuration); UIView.SetAnimationCurve(UIViewAnimationCurve.EaseOut); activityContainer.Alpha=1.0f; UIView.CommitAnimations(); self.AddSubview(activityContainer); }