Disclaimer: I know it's not a best practice to tweak that kind of stuff because it may break as Apple decides to change its internal behaviour.
There are some solutions out there like https://stackoverflow.com/a/12511432/271150 which seem to be working for previous iOS versions, but not for iOS 7.
When looking into the controls hierarchy I can see there is a UITableViewCellDeleteConfirmationView inside the UITableViewCellScrollView. But by looking into the SubViews collection in layoutSubviews or willTransitionToState there are only my own views, UITableViewCellDeleteConfirmationView does not appear.
So, has anyone figured out how to modify the default delete button/view?
The reason you don't see the view inside
layoutSubviews
orwillTransitionToState:
is that the delete button view does not exist yet or it is not part of the view hierarchy yet. In order to "see" it you need to postpone a little the code that browses the view hierarchy, and by that allowing the OS to create/add the view in the meantime:Note this is a fragile solution since it is based on internal implementation of Apple that might change any time.
See here an (almost) complete example:
Customizing iOS 7 Delete button
Not sure if this works on ios 7 but take a look:
I understand you may not want to overwrite Apples entire implementation for editing a table view cell BUT I had a similar problem with my app. In my case I needed two buttons (More and Lost) to display just like in the new reminders app for iOS7 when a user swipes left to right. Instead of using:
I created a custom cell that hides the buttons under the top layer and uses a pan gesture recogniser to move the top layer, displaying the buttons underneath. I therefore have complete control over what buttons are displayed and what color etc they are (see below).
Hope this helps.