0

作为一个新的 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)]
}

已经好几个小时了,我开始失去希望了。我只是想通过在这个堆栈视图中附加圆圈来弄湿我的脚,所以我进入了更严肃的实现。

很多帮助将不胜感激!

4

0 回答 0