コード例 #1
0
        private UIView SwapViews(UIView oldView, Func <UIView> newViewProvider)
        {
            var currentPosition = oldView?.Superview?.Subviews.IndexOf(oldView) ?? -1;

            if (currentPosition != -1)
            {
                var newContent = newViewProvider();

                var currentSuperview = oldView?.Superview;
                oldView?.RemoveFromSuperview();

                RaiseMaterializing();

#if __IOS__
                currentSuperview?.InsertSubview(newContent, currentPosition);
                return(newContent);
#elif __MACOS__
                if (currentSuperview is {})
コード例 #2
0
        private UIView SwapViews(UIView oldView, Func <UIView> newViewProvider)
        {
            var currentPosition = oldView?.Superview?.Subviews.IndexOf(oldView) ?? -1;

            if (currentPosition != -1)
            {
                var newContent = newViewProvider();

                var currentSuperview = oldView?.Superview;
                oldView?.RemoveFromSuperview();

#if __IOS__
                currentSuperview?.InsertSubview(newContent, currentPosition);
                return(newContent);
#elif __MACOS__
                currentSuperview.AddSubview(newContent, NSWindowOrderingMode.Above, currentSuperview.Subviews[Math.Max(0, currentPosition - 1)]);
                return(newContent);
#endif
            }

            return(null);
        }