Lnpopupcontroller: Popup bar does not appear when presented from UINavigationController with hidden toolbar

Created on 1 Jan 2017  路  13Comments  路  Source: LeoNatan/LNPopupController

In a basic example, the popupBar no longer appears on calls to presentPopupBar. However, the completion callback is still called.

I noticed it was broken when I updated to 5a6bd3038af53989f468609ce3670d10647e9cea.

However, it was working at 0e3111e78916d6f79474c3ccd2b2f7ff6bb33b72.

Here is an example project that reproduces the issue:

https://github.com/btc/LNPopupControllerBugExample

master is broken
"old" branch works

bug

All 13 comments

updated:

breaks at 12118abf0f286c396c4b520c3e8cd6b5c085ae22
works at 2e54248f1a5c86044aa575b3f54e9b389468c30b

These type of issues are not helping. Please provide properly worded explanation of what is not working.

I apologize. I will elaborate.

Please update your first comment with a proper description of the issue.

I see the issue is related to hidden toolbar of the navigation controller. If the toolbar is visible, it works. Will investigate.

I apologize for the poor communication the first time around. Thank you very much for creating this library.

Are you sure the example project reproduces your issue in the same way as in your real app?

This is a known limitation (see README) and is very difficult to fix. The scenario shown in the example project has never been supported or worked in the past. In case you have a navigation controller with a hidden toolbar, you currently only have two options:

  • Present on the inner view controller, rather than the navigation controller, but then when the popup opens, it will go under the navigation bar
  • Add you navigation controller scene as a child controller or a view controller, and present the popup bar on that container controller.

I am not sure I have the time to fix this issue soon. I suggest going with solution no. 2.

Interesting. Was it an accident that the popupBar worked/appeared in 0e3111e?

I tried running your example project with 2.0.0 as well as 1.4.6 and neither showed a popup bar.

Did you tap the green button? The popupBar works on this branch ("old"):

https://github.com/btc/LNPopupControllerBugExample/tree/old

It's on commit 0e3111e78916d6f79474c3ccd2b2f7ff6bb33b72

Crazy stuff. I tested old framework versions on my own example project, and disabled the toolbar on the navigation bar. In that case, the toolbar.superview is nil and thus the presentation of the popup bar fails. Here it seems the toolbar is hidden but nc.toolbar.superview is not nil. I need to investigate this further.

Solved 馃憤
Please test on latest master.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

amosavian picture amosavian  路  7Comments

johnswifttt picture johnswifttt  路  8Comments

PrakashMaharjan picture PrakashMaharjan  路  6Comments

johnswifttt picture johnswifttt  路  5Comments

nhatduong picture nhatduong  路  7Comments