无法删除stagewebview

时间:2012-05-08 15:37:58

标签: actionscript-3 flex starling-framework

[更新] 我最终通过将StageWebView实例放入MovieClip实例来修复它:

    package eu.lafactoria.PF
    {
        import flash.display.Bitmap;
        import flash.display.MovieClip;
        import flash.geom.Rectangle;
        import flash.media.StageWebView;

    public class PFWebView extends MovieClip
    {
        //==========================================================//
        //==    VARIABLES
        //==========================================================//
        private var mWebView:StageWebView;
        [Embed(source='/assets/bt_enrera.png')]     //TODO: Posar l'imatge bona
        private static var mCloseButtonImage:Class;

        private var mCloseButton:Bitmap;


        //==========================================================//
        //==    CONSTRUCTOR
        //==========================================================//
        public function PFWebView(){
            mCloseButton = new mCloseButtonImage(); 
        }

        //==========================================================//
        //==    SHOW
        //==========================================================//
        public function show(url:String, margin:int = 0):void{

            //FIXME: Arreglar boto de tancar

            mWebView            = new StageWebView(); 
            mWebView.stage      = this.stage; 

            mWebView.viewPort   = new Rectangle( margin, margin, stage.stageWidth - margin*2, stage.stageHeight - margin*2);
            mWebView.loadURL(url);

            this.addChild(mCloseButton);
            mCloseButton.x = stage.stageWidth - margin*2;
            mCloseButton.y = margin           - mCloseButton.height + 5;
        }

        //==========================================================//
        //==    HIDE
        //==========================================================//
        public function hide():void{
            if(mWebView != null)
                mWebView.stage = null;
            else
                trace("[PFWebView] Trying to hide a webiew not shown  yet");

            this.removeChild(mCloseButton);
            //this.parent.removeChild(this);
        }
    }
}

[原始问题] 我有一个Flex应用程序,我在其中添加StageWebView实例,如此

        mCredits = new StageWebView();
        mCredits.loadURL("http://www.google.es");

        mCredits.stage    = mMainSprite.stage;
        mCredits.viewPort = new Rectangle( margin, margin, mMainSprite.stage.stageWidth - margin*2, mMainSprite.stage.stageHeight - margin-2);

但是当我想删除它以便应用程序再次可见时,它不起作用, 我就是这样:

        mCredits.viewPort = null;
        mCredits.stage    = null;
        mCredits.dispose();
        mCredits          = null;

你们任何人都知道它为什么不起作用? 谢谢!

0 个答案:

没有答案