StackViewLayout icon indicating copy to clipboard operation
StackViewLayout copied to clipboard

Code Style

Open dillidon opened this issue 6 years ago • 2 comments

Hi,

Do you think it would be easier to write code like this:

// instead of
stackView.direction(.row).justifyContent(.spaceBetween).define { (stackView) in
   stackView.addItem(button1).shrink(1).aspectRatio(imageRatio)
   stackView.addItem(button2).marginLeft(10).shrink(1).aspectRatio(imageRatio)
   stackView.addItem(button3).marginLeft(10).shrink(1).aspectRatio(imageRatio)
   stackView.addItem(button4).marginLeft(10).shrink(1).aspectRatio(imageRatio)
}

// use this
stackView
   .direction(.row)
   .align(content: .center)
   .justify(content: .spaceBetween)
   .space(between: 10)
   
stackView.add(button1, button2, button3...)

// using
func add(_ subviews: UIView...) {
   subviews.forEach(addItem)
}

I do not know of such cases when it would be necessary to set margins between objects in a stack.

dillidon avatar Feb 10 '19 18:02 dillidon

Hi, it could be an addition to the API. It is often required to add spacing. Add top or bottom margin to items in a vertical stackview, or left and right margin in an horizontal statckviews.

lucdion avatar Feb 11 '19 13:02 lucdion

I mean, set different margins between each objects in a stack)

dillidon avatar Feb 24 '19 19:02 dillidon