【问题标题】:Please tell me how to write the code short请告诉我如何编写简短的代码
【发布时间】:2017-08-09 00:10:06
【问题描述】:

我是编程新手。

如下图,我在 UIView 上有很多按钮。

这种情况下,短代码可以用什么样的方式来表达呢?

class ViewController: UIViewController {
   @IBOutlet weak var buttonA: UIButton!
   @IBOutlet weak var buttonB: UIButton!
   @IBOutlet weak var buttonC: UIButton!
   @IBOutlet weak var buttonD: UIButton!
   @IBOutlet weak var buttonE: UIButton!
   @IBOutlet weak var buttonF: UIButton!
   @IBOutlet weak var buttonG: UIButton!
   @IBOutlet weak var buttonH: UIButton!
   @IBOutlet weak var buttonI: UIButton!
   @IBOutlet weak var buttonJ: UIButton!
   @IBOutlet weak var alphaView: UIView!

   override func viewDidLoad() {
      super.viewDidLoad()
      self.view.insertSubview(self.buttonA, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonB, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonC, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonD, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonE, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonF, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonG, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonH, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonI, aboveSubview: self.alphaView)
      self.view.insertSubview(self.buttonJ, aboveSubview: self.alphaView)
   }
}

【问题讨论】:

  • 如果在 Interface Builder 中添加视图,则无需使用代码将其添加到视图中。您也可以在 Interface Builder 中订购它们。除非您使用按钮执行其他操作,否则所有这些代码都是不必要的。
  • 使用 XIB 或 Storyboard 至少可以使用 insertSubView 部分。

标签: swift uiview uibutton


【解决方案1】:

创建一个插座集合并将所有按钮连接到它。然后像这样迭代它。

@IBOutlet var buttons: [UIButton]!{
    didSet{
        for button in self.buttons{
            self.view.insertSubview(button, aboveSubview: self.alphaView)
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    相关资源
    最近更新 更多