Ugly workaround to stop banging my head

against the wall.

rebuildArrowImages is cool to take into account changes of tintColor or
arrowBase / arrowHeight. Next time you present your popover everything
will be as expected. But what about changing the tintColor of a
currently presented popover? Without dismissing it?
After few hours on it I decided that I had already spent too much time
on it and wrote this …. which do the job but you still have to force
the relayout of the popover.
Easy on iOS 8 with:
[myPresentedViewController.popoverPresentationController.containerView
setNeedsLayout];

Suicidal on iOS 7:
for (UIView *view in
myPresentedViewController.view.superview.superview.subviews) {
                    if ([view isKindOfClass:[DDPopoverBackgroundView
class]]) {
                        [view setNeedsLayout];
                        [view layoutIfNeeded];
                        break;
                    }
                }
Apple has mercy on me, I intend to ship this code.