当前位置: 首页 > 面试题库 >

Swift addsubview并将其删除

冯阳华
2023-03-14
问题内容

我想添加子视图并一键删除。这是我的代码:

/ 添加子视图 /

var testView: UIView = UIView(frame: CGRectMake(0, 0, 320, 568))
testView.backgroundColor = UIColor.blueColor()
testView.alpha = 0.5
testView.tag = 100
super.view.userInteractionEnabled = false
self.view.userInteractionEnabled = true
self.view.addSubview(testView)

/ 删除子视图 /

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    let touch = touches.anyObject() as UITouch
    let point = touch.locationInView(self.view)

    if(testView.tag==100){
        println("Tag 100")
        testView.removeFromSuperview()
    }
    else{
        println("tag not found")
    }

}

但是删除它不起作用有人可以帮助我吗?谢谢!


问题答案:

感谢帮助。这是解决方案:我创建了子视图,并添加了一个手势来删除它

@IBAction func infoView(sender: UIButton) {
    var testView: UIView = UIView(frame: CGRectMake(0, 0, 320, 568))
    testView.backgroundColor = UIColor.blueColor()
    testView.alpha = 0.5
    testView.tag = 100
    testView.userInteractionEnabled = true
    self.view.addSubview(testView)

    let aSelector : Selector = "removeSubview"
    let tapGesture = UITapGestureRecognizer(target:self, action: aSelector)
    testView.addGestureRecognizer(tapGesture)
}

func removeSubview(){
    println("Start remove sibview")
    if let viewWithTag = self.view.viewWithTag(100) {
        viewWithTag.removeFromSuperview()
    }else{
        println("No!")
    }
}

更新:

迅捷3+

@IBAction func infoView(sender: UIButton) {
    let testView: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 568))
    testView.backgroundColor = .blue
    testView.alpha = 0.5
    testView.tag = 100
    testView.isUserInteractionEnabled = true
    self.view.addSubview(testView)

    let aSelector : Selector = #selector(GasMapViewController.removeSubview)
    let tapGesture = UITapGestureRecognizer(target:self, action: aSelector)
    testView.addGestureRecognizer(tapGesture)
}

func removeSubview(){
    print("Start remove sibview")
    if let viewWithTag = self.view.viewWithTag(100) {
        viewWithTag.removeFromSuperview()
    }else{
        print("No!")
    }
}


 类似资料:
  • 假设我有一个Hashmap对象myMap,它包含一组键和值, 假设我总共有30把钥匙。 现在我得到了一个键列表:

  • 我希望当用户编写命令时,bot会删除具有特定名称的特定频道,但我并没有真正成功。错误: 代码:

  • 问题内容: 没有标准的方法可以检查MySQL用户是否存在并基于该用户删除它。有什么解决方法吗? 编辑:我需要一种直接的方法来运行此而不抛出错误, 例如 问题答案: 从MySQL 5.7开始,您可以 更多信息:http : //dev.mysql.com/doc/refman/5.7/en/drop- user.html

  • 问题内容: 我正在寻找一个小的代码段,它将在文件中找到一行并删除该行(不是内容而是行),但是找不到。因此,例如,我在以下文件中: myFile.txt: 需要具有这样的功能:,如果通过 ,我将获得如下文件: myFile.txt: 问题答案: 该解决方案可能不是最佳或漂亮的,但它可以工作。它逐行读取输入文件,并将每一行写到一个临时输出文件中。每当遇到符合您要查找的内容的行时,它都会跳过将其写出的操

  • 我有以下方法,这是预期的工作。 但是有没有办法修改它,这样我就不必单独订阅网络客户的电话了 取而代之的是让它成为流量的一部分,并且只从某个订户那里订阅一次? 请注意,这最终必须返回一个可观察的 一些外部订户将执行以下操作。 ; 我希望这能触发整个流程,这也会触发webclient的调用,而不是像上面那样单独调用它。 这可能吗? 因此,寻找类似以下内容的内容,而不是单独订阅webClient。 尝试

  • 问题内容: 我在MongoDB中有一个文档,其中一个看起来像这样: 在每个文档中,我需要找到最小的项目并将其删除。所以应该是这样的: 看起来应该在这里使用函数,但是我不能再说了。 如何找到数组中的最小元素并将其删除? 我正在使用MongoDB和Pymongo驱动程序。 问题答案: 如果您不限于一步就完成查询,则可以尝试: 步骤1)将聚合函数与$ unwind和$ group运算符配合使用,以查找每