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
Open
Updating tintColor of presented popover#13Bluezen wants to merge 1 commit intosmartapps-fr:masterfrom
Bluezen wants to merge 1 commit intosmartapps-fr:masterfrom
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:

There is still the need to manually relayout the popover.
Easy on iOS 8 with:
[myPresentedViewController.popoverPresentationController.containerView setNeedsLayout];Ugly on iOS 7:
Maybe you have a better idea to achieve this?