减少swift UIView中的冗余

时间:2015-09-12 17:50:07

标签: swift uiview

无论如何要同时将horizo​​ntalLine和verticalLine添加到UIView中。以下方式看起来多余。

var horizontalLineView : UIView = UIView(frame: horizontalLine)
var verticalLineView : UIView = UIView(frame: verticalLine)

1 个答案:

答案 0 :(得分:0)

不,你做得对。这是创建UIViews最简洁的方法。

潜在地,你可以创建一个非常简单的UIView扩展,它可以在一次调用中创建多行,但是你并没有为此付出太多努力。

extension UIView {

    static func createLines(frames:CGRect...) -> [UIView] {
        // create empty array for views
        var lines:[UIView] = []

        // loop over each frame provided
        for frame in frames {
            // create a UIView with that frame
            lines.append(UIView(frame: frame))
        }
        // return the lines
        return lines
    }

}

let horizontalLine = CGRect(x: 0, y: 0, width: 100, height: 1)
let verticalLine = CGRect(x: 0, y: 0, width: 1, height: 100)

// create the UIViews with one or more frames
let lines = UIView.createLines(horizontalLine, verticalLine)