コード例 #1
0
		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 ();
				});
		}
コード例 #2
0
		public static void BringSubviewToFront(this NSView superView, NSView theView)
		{
			if(theView == null || !superView.Subviews.Contains(theView))
				return;
			theView.RemoveFromSuperview();
			superView.AddSubview(theView);
		}
コード例 #3
0
ファイル: ViewExtensions.cs プロジェクト: nagyist/iPadPos
 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 ();
 }
コード例 #4
0
ファイル: ViewExensions.cs プロジェクト: jorik041/CrossBar
        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);
        }
コード例 #5
0
ファイル: Toast.cs プロジェクト: tghw/XamarinSharpPlus
        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);
                }
            );
        }
コード例 #6
0
ファイル: Toast.cs プロジェクト: tghw/XamarinSharpPlus
        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);
        }
コード例 #7
0
		public static void AddBlur (this UIImageView imageView, UIBlurEffectStyle style)
		{
			var blurView = Blur.Create (imageView.Frame, style);

			imageView.AddSubview (blurView);
		}
コード例 #8
0
ファイル: ToastExtensions.cs プロジェクト: skela/Toast
        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();
        }
コード例 #9
0
ファイル: ToastExtensions.cs プロジェクト: skela/Toast
        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);
        }