我正在 iOS swift 3.0 中构建应用程序。我正在创建动态 UIView。我需要随机删除自定义 View ,但目前我无法重新定位位置,因为我得到两个 View 之间的间隙,我想删除它们,如下面的代码图片所示,请帮助我。
class ViewController: UIViewController {
var myView: subView!
var y : CGFloat!
var tag : Int = 0
@IBOutlet weak var addButton: UIButton!
override func viewDidLoad() {
y = 1
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func cancelbutton(_ sender: UIButton)
{
let selectViewTagValue : Int = sender.tag /// save the selected view tag value
for object in self.view.subviews {
if ((object is subView) && object.tag == selectViewTagValue)
{
object.removeFromSuperview()
}
}
}
@IBAction func buttonAction(_ sender: Any) {
y = y + 110
myView = subView(frame: CGRect(x: 80, y: y, width: 300, height: 100))
myView.tag = tag
myView.actionButton.tag = tag
tag = tag + 1
myView.backgroundColor = UIColor.green
myView.actionButton.addTarget(self, action: (#selector(cancelbutton(_:))), for: UIControlEvents.touchUpInside)
self.view.addSubview(myView)
}
请帮我解决这个问题...“提前致谢”
最佳答案
当您有多个相似的 View 要动态显示和重新排列时,UITableView
是一个明智的选择。重新排列框架维护起来很乏味,并且需要大量代码来实现。为什么不使用 UITableView
提供的工具呢?只需使用 deleteRowsAtIndexPaths
删除您的 View ,其余的将为您处理。
关于ios - 删除 UIView 后重新定位的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198297/