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

Updating tintColor of presented popover#13

Open
Bluezen wants to merge 1 commit intosmartapps-fr:masterfrom
Bluezen:master
Open

Updating tintColor of presented popover#13
Bluezen wants to merge 1 commit intosmartapps-fr:masterfrom
Bluezen:master

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