今天在用swift2.0开发ios应用时遇到了一个坑
简单描述一下:
我是在用UIWebView加载网页。在判断当前网页的URL地址为我判断的url时,添加一个分享控件
如果不是就隐藏控件,如果把隐藏的代码放到else里面:运行过程不报错但是没效果。测试代码确实执行了(因为代码下面能打印print("隐藏分享按钮"))
如果把隐藏的方法放在if之前调用就可以隐藏按钮。不知道这是系统的bug还是什么??请大神指点迷津
//UIWebView代理方法 func webView(webView:UIWebView,shouldStartLoadWithRequest request:NSURLRequest,navigationType: UIWebViewNavigationType) -> Bool { print(request.URL) hideShareView()//隐藏按钮的这句话一定要放到这里,如果放到else里面不起作用,暂时不知道原因 if request.URL!.absoluteString.hasPrefix("http://xxxxxxx.com/News/Detail/") {//开头包括 print("显示分享按钮") shareBt =UIButton(frame: CGRectMake(self.view.frame.size.width-50,50,43)) self.view.addSubview(shareBt); shareBt.setImage(UIImage(named:"share"),forState: UIControlState.Normal) shareBt.backgroundColor =UIColor.redColor() //添加点击事件 shareBt.addTarget(self,action:"shareAction",forControlEvents: .TouchUpInside) returntrue }else{ hideShareView()//这一行代码貌似执行没效果。暂时不知道原因 print("隐藏分享按钮") } returntrue } func hideShareView(){ if(shareBt !=nil ){ shareBt.alpha =0.0//隐藏按钮 shareBt.backgroundColor =UIColor.whiteColor() shareBt.enabled =false//让按钮不能点击 } }