问题
when the uitableviewcell is set to style UITableViewCellStyleValue1, and both the delete button and reorder control are shown, the reorder control seems to overlap the text in the detailtextlabel, is there any way to make the reorder control not overlap the detailtextlabel without using custom uitableviewcell?
回答1:
I have just hit the same problem and it's causing me a lot of grief!
From what I've seen, this seems to be a problem on iOS7 UITableViews when the TableView style is set to 'grouped' and the TableView allows reordering of rows...
When the tableview style is 'Plain' the TableView adjusts each of the cells bounds when entering edit mode, and so anything aligned with the right edge of the cell gets shifted in:

When the style is 'Grouped' the layout doesn't seem to adjust, so anything aligned with the right edge stays where it is and the reorder control slides in over the top:

This doesn't seem to be limited to the cell's detailText label - I have a cell with a custom view aligned to the right hand side and this no longer gets adjusted when entering edit mode on iOS7.
Is this a bug, or has something else changed? Does anyone know how to work around this? I can't even see a way to get hold of the reorder control's frame, in order to manually reposition things nicely....
回答2:
I've also had the same issue but I found another way to 'fix' it. By setting the 'Editing Accessory' to 'Disclosure Indicator' it now lays out the cell properly in edit mode.
Now it turned out that I wanted the ability to navigate while editing so I was just lucky.
回答3:
I've reported the bug to apple, and they have fixed it in the updated ios 7.0.3 version already.
来源:https://stackoverflow.com/questions/19115167/ios7-uitableviewcell-reorder-control-overlap-detailtextlabel-with-uitableviewcel