作为一个新的 Swift 程序员,我已经做了很多阅读,并了解到堆栈视图是动态定位元素的方法,而不是依赖于自动布局。我一直在尝试做的是设置一个堆栈视图/框架,我可以在其中动态定位绘制的圆圈。
假设我输入值 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)]
}
已经好几个小时了,我开始失去希望了。我只是想通过在这个堆栈视图中附加圆圈来弄湿我的脚,所以我进入了更严肃的实现。
很多帮助将不胜感激!