예제 #1
0
        bool detachViewToWindow(bool enable)
        {
            bool viewChanged = false;
            var  rootView    = getRootView();

            if (enable && initialSuperview == null)
            {
                initialIndex     = Array.IndexOf(Superview.Subviews, this);
                initialSuperview = Superview;
                var newFrame = Superview.ConvertRectToView(initialFrame, rootView);
                rootView.Add(this);
                setFrame(newFrame);
                viewChanged = true;
            }
            else if (!enable)
            {
                if (initialSuperview != null)
                {
                    initialSuperview.InsertSubview(this, initialIndex);
                    viewChanged = true;
                }
                setFrame(initialFrame);
                initialSuperview = null;
            }
            return(viewChanged);
        }