Skip to content
This repository has been archived by the owner on Oct 17, 2024. It is now read-only.

Updating tintColor of presented popover #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Bluezen
Copy link

@Bluezen Bluezen commented Nov 6, 2014

In order to change the tintColor of a currently presented popover I had to make a small change to your handy classe.

The change in action without dismissing the popover:
img

There is still the need to manually relayout the popover.

Easy on iOS 8 with:

[myPresentedViewController.popoverPresentationController.containerView setNeedsLayout];

Ugly on iOS 7:

for (UIView *view in myPresentedViewController.view.superview.superview.subviews) {
    if ([view isKindOfClass:[DDPopoverBackgroundView class]]) {
        [view setNeedsLayout];
        [view layoutIfNeeded];
        break;
    }
}

Maybe you have a better idea to achieve this?

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.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant