I realize that I posted this question over two years ago, but I wanted to follow up and note that the contentEdgeInsets
property now appears to work correctly with autolayout. For example, the following code produces a button with a 20-pixel margin around its content:
button.contentEdgeInsets = UIEdgeInsetsMake(20, 20, 20, 20);