Ios 如何在swift中创建堆栈视图?
您好,我开发了一个四堆栈视图程序,以在同一视图中添加另一个堆栈。我需要另一个子视图,是否有其他方法使用for循环添加子视图,我是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循环中,以便我可以添加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”?我查看了它,没有时间测试它,但据我所知,没有遗漏任何内容。你为什么问?您是否收到了一个错误提示缺少了什么?