In my application:didFinishLauchginWithOptions: I set the default appearances for my controls.
UIImage *transparentImage = [UIImage imageNamed:@"transparent.png"];
[[UIBarButtonItem appearance]setBackgroundImage:transparentImage
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
this works great for me as it gives normal UIBarButtonItems a transparent flat look. However there is a button I that is presented from a UIDocumentInteractionController when you press “quick look” that does not have the right appearance.

I believe this is the only barbuttonitem i have that is just an image. Is there a way I can modify this button to give it some contrast so it doesnt look so ugly? even the original background looks ok on against my naviagationbar background.
I ended up implementing
In willBegin I retain the right button and set navigationItem’s right button to nil. I do so because in didEnd the view is already shown so resetting the appearance does not take effect untill its added back.
Its not perfect but its much better than it was. If anyone can figure out how to handle the presenting controller’s
rightBarButtonItemI will accept your answer instead.