Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift中创建堆栈视图?_Ios_Xcode_Swift_Uistackview - Fatal编程技术网

Ios 如何在swift中创建堆栈视图?

Ios 如何在swift中创建堆栈视图?,ios,xcode,swift,uistackview,Ios,Xcode,Swift,Uistackview,您好,我开发了一个四堆栈视图程序,以在同一视图中添加另一个堆栈。我需要另一个子视图,是否有其他方法使用for循环添加子视图,我是swift语言和学习新手,需要帮助吗 如何保持所有堆栈视图处于for循环中,以便我可以添加n个堆栈视图以下是使用UIStackView构建键盘的代码片段 func newPad() { keyPadWindow = UIView(frame: CGRect(x: 128, y: 224, width: 512, height: 356)) keyPadW

您好,我开发了一个四堆栈视图程序,以在同一视图中添加另一个堆栈。我需要另一个子视图,是否有其他方法使用for循环添加子视图,我是swift语言和学习新手,需要帮助吗


如何保持所有堆栈视图处于for循环中,以便我可以添加n个堆栈视图

以下是使用UIStackView构建键盘的代码片段

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)
}
func newPad(){
keyPadWindow=UIView(帧:CGRect(x:128,y:224,宽度:512,高度:356))
keyPadWindow.backgroundColor=UIColor.yellowColor()
var keyCount=0
keyPadSV=UIStackView(帧:CGRect(x:0,y:0,宽度:512,高度:356))
键盘SV!.axis=.Vertical
keyPadSV!。间距=0.0
键盘SV!.alignment=.Center
keyPadSV!.distribution=.equalspace
keyPadSV!.backgroundColor=UIColor.redColor()
对于变量k2s=0;k2s<5;k2s++{
让keyPadSVB=UIStackView(帧:CGRect(x:0,y:0,宽度:0,高度:0))
键盘SVB.axis=.Horizontal
键盘SVB.spacing=0.0
键盘svb.alignment=.Center
keyPadSVB.distribution=.EqualSpacing
keyPadSVB.backgroundColor=UIColor.greenColor()
对于var k4s=0;k4s<4;k4s++{
let button=UIButton(类型:UIButtonType.Custom)作为UIButton
button.frame=CGRectMake(0,0,0,0)
button.backgroundColor=UIColor.greenColor()
button.tag=keyCount
让blah=“x”+字符串(keyCount)
让blahIMAGE=UIImage(名称:blah)
按钮.设置图像(blahIMAGE,for状态:uicontrol状态.正常)
button.addTarget(self,action:“keyPadPress:”,forControlEvents:UIControlEvents.TouchUpInside)
键盘svb.addArrangedSubview(按钮)
键值++
}
keyPadSV.addArrangedSubview(keyPadSVB)
}
keyPadWindow.addSubview(keyPadSV)
self.view.addSubview(键盘窗口)
}

它依赖于您有16个图像来显示按键。

下面是一段代码,它使用UIStackView构建了一个键盘

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)
}
func newPad(){
keyPadWindow=UIView(帧:CGRect(x:128,y:224,宽度:512,高度:356))
keyPadWindow.backgroundColor=UIColor.yellowColor()
var keyCount=0
keyPadSV=UIStackView(帧:CGRect(x:0,y:0,宽度:512,高度:356))
键盘SV!.axis=.Vertical
keyPadSV!。间距=0.0
键盘SV!.alignment=.Center
keyPadSV!.distribution=.equalspace
keyPadSV!.backgroundColor=UIColor.redColor()
对于变量k2s=0;k2s<5;k2s++{
让keyPadSVB=UIStackView(帧:CGRect(x:0,y:0,宽度:0,高度:0))
键盘SVB.axis=.Horizontal
键盘SVB.spacing=0.0
键盘svb.alignment=.Center
keyPadSVB.distribution=.EqualSpacing
keyPadSVB.backgroundColor=UIColor.greenColor()
对于var k4s=0;k4s<4;k4s++{
let button=UIButton(类型:UIButtonType.Custom)作为UIButton
button.frame=CGRectMake(0,0,0,0)
button.backgroundColor=UIColor.greenColor()
button.tag=keyCount
让blah=“x”+字符串(keyCount)
让blahIMAGE=UIImage(名称:blah)
按钮.设置图像(blahIMAGE,for状态:uicontrol状态.正常)
button.addTarget(self,action:“keyPadPress:”,forControlEvents:UIControlEvents.TouchUpInside)
键盘svb.addArrangedSubview(按钮)
键值++
}
keyPadSV.addArrangedSubview(keyPadSVB)
}
keyPadWindow.addSubview(keyPadSV)
self.view.addSubview(键盘窗口)
}

它依赖于您有16个图像来显示按键。

到目前为止您尝试了什么?你的循环代码在哪里?试图创建动态堆栈视图?@tebs1200我创建了4个水平视图,但将来我可能会创建10个水平视图,所以我想问一下创建此类视图的最佳方法,如果你不理解这个问题,请再次道歉,到目前为止你尝试了什么?您的循环代码在哪里?试图创建动态堆栈视图?@tebs1200我创建了4个水平视图,但将来我可能会创建10个水平视图,所以我想问一下创建此类视图的最佳方法,如果您不理解这个问题,请再次道歉,是否缺少“let”或“var”在哪里创建第一个UIStackView?我看着它,没有时间测试它,但就我所能看到的而言,没有遗漏任何东西。你为什么问?您是否收到一个错误,提示缺少了什么?是否缺少创建第一个UIStackView的“let”或“var”?我查看了它,没有时间测试它,但据我所知,没有遗漏任何内容。你为什么问?您是否收到了一个错误提示缺少了什么?