2016-02-17 39 views
0

您好我开发了一个四个堆栈视图的程序添加另一个堆栈在相同的视图我需要另一个子视图,有没有其他方式添加subview使用for循环,我是新的迅速语言和学习,请帮助如何在swift中创建动态堆栈视图?

如何保持所有的堆栈视图for循环,这样我可以添加n个栈意见

+0

你到目前为止尝试过什么?你的循环代码在哪里,并试图创建一个动态堆栈视图? – tebs1200

+0

@ tebs1200我创建了4个水平视图,但是在将来我可能想要创建10个水平视图,所以我要求任何最好的方法来创建这种事情,再次对不起,如果你不明白问题 – Sandpie

回答

1

这里是一个建立使用UIStackViews键盘代码片段...

func newPad() { 
    keyPadWindow = UIView(frame: CGRect(x: 128, y: 224, width: 512, height: 356)) 
    keyPadWindow.backgroundColor = UIColor.yellowColor() 
    var keyCount = 0 
    keyPadSV = UIStackView(frame: CGRect(x: 0, y: 0, width: 512, height: 356)) 
    keyPadSV!.axis = .Vertical 
    keyPadSV!.spacing = 0.0 
    keyPadSV!.alignment = .Center 
    keyPadSV!.distribution = .EqualSpacing 
    keyPadSV!.backgroundColor = UIColor.redColor() 
    for var k2s = 0; k2s < 5; k2s++ { 
     let keyPadSVB = UIStackView(frame:CGRect(x: 0, y: 0, width: 0, height: 0)) 
     keyPadSVB.axis = .Horizontal 
     keyPadSVB.spacing = 0.0 
     keyPadSVB.alignment = .Center 
     keyPadSVB.distribution = .EqualSpacing 
     keyPadSVB.backgroundColor = UIColor.greenColor() 
     for var k4s = 0; k4s < 4; k4s++ { 
      let button = UIButton(type: UIButtonType.Custom) as UIButton 
      button.frame = CGRectMake(0, 0, 0, 0) 
      button.backgroundColor = UIColor.greenColor() 
      button.tag = keyCount 
      let blah = "x" + String(keyCount) 
      let blahIMAGE = UIImage(named: blah) 
      button.setImage(blahIMAGE, forState: UIControlState.Normal) 
      button.addTarget(self, action: "keyPadPress:", forControlEvents: UIControlEvents.TouchUpInside) 
      keyPadSVB.addArrangedSubview(button) 
      keyCount++ 
     } 
     keyPadSV.addArrangedSubview(keyPadSVB) 
    } 
    keyPadWindow.addSubview(keyPadSV) 
    self.view.addSubview(keyPadWindow) 
} 

它依赖于你有16个图像供显示。

+0

耶完美谢谢非常多 – Sandpie

+0

非常感谢你 – Sandpie

+0

这是一个奇怪的地方,我发布了一些代码来帮助某人,他认为我们很好,然后其他人就下了一个命令的嘘声。谁投了票,为什么? – user3069232