作为一名新的Swift程序员,我一直在做很多阅读,并了解到Stack Views是动态定位元素而不是依赖于自动布局的方式。我一直在尝试做的是设置一个堆栈视图/框架,我可以在其中动态定位绘制的圆圈。
假设我输入的值为5,将绘制5个圆圈并自动间隔开。位于框架内。同样,输入3将绘制3个圆圈并动态定位它们。
我刚刚开始使用数组进行测试:
// Function to Draw the Circle
func colorCircle(withColor color:UIColor, title:String) -> UIBezierPath{
let ovalPath = UIBezierPath(ovalInRect: CGRectMake(0, 0, 300, 300))
UIColor.whiteColor().setFill()
ovalPath.fill()
return ovalPath
}
// Dictionary Collection of colors (Basically an end result of 3 circles with these colors)
var colorDictionary = [
"Red":UIColor(red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0),
"Green":UIColor(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0),
"Blue":UIColor(red: 0.0, green: 0.0, blue: 1.0, alpha: 1.0),
]
// My Array of Circles
var circleArray = [UIBezierPath]()
// Add X Amount of Circles (colors) in Array in Regard to the Amount of Colors in the colorDictionary collection
for (myKey,myValue) in colorDictionary{
circleArray += [colorCircle(withColor: myValue, title: myKey)]
}
已经好几个小时了,我开始失去希望。我只是试图在这个堆栈视图中添加圆圈让我的脚湿透,所以我进入了更严肃的实现。
非常感谢你的帮助!