Real life caught up so only a little progress. Started experimenting with some graphics tools just to change things up. Nothing final yet but this was quick enough to implement. I used PaintCode to draw out the button and add a gradient fill I could swap with the flat background by setting a flag. Then all I had to do was create a custom UIControl
to draw the button.
The text is defined at run-time so could be localised in future if I stick with this style.
override func draw(_ rect: CGRect) {
NonokuKit.drawMenuButton(frame: bounds, tapped: tapped, text: text)
}
So simple it's barely even worth including.