Re: Hide UINavigationBar and keep UIPageController content static
Re: Hide UINavigationBar and keep UIPageController content static
- Subject: Re: Hide UINavigationBar and keep UIPageController content static
- From: Stevo Brock <email@hidden>
- Date: Tue, 27 Oct 2015 10:49:14 -0700
Hi David and Kyle,
Thanks so much for the insight and pointers.
I was manually calling setNeedsDisplay() when toggling the navigation bar hidden, and now I can remove that and just set the contentMode to .Redraw. That’s great.
And setting the automaticallyAdjustsScrollViewInsets to false helps, and I can now go back to drawing the content under the top bars and the content stays put while the bar animates up and down.
Thanks again guys for your expert insight.
-Stevo Brock
Owner
Sunset Magicwerks, LLC
www.sunsetmagicwerks.com
@SunsetMagicwrks
818-478-9758
> On Oct 25, 2015, at 10:09 AM, David Duncan <email@hidden> wrote:
>
>
>> On Oct 24, 2015, at 10:23 AM, Kyle Sluder <email@hidden> wrote:
>>
>> On Tue, Oct 20, 2015, at 11:21 AM, Stevo Brock wrote:
>>> The trick is, if in the storyboard, on the UIPageController, I set the
>>> “Under Top Bars” to yes, my custom view draws full screen. But when I
>>> toggle the navigationBarHidden, the custom view and its superview scroll
>>> up and down the size of the navigation bar.
>>
>> This sounds like it might be a bug in automatic content inset
>> adjustment. Please file a Radar with a sample project.
>>
>> In the meantime, you can try turning off
>> automaticallyAdjustsScrollViewInsets on your view controller and
>> managing layout manually (relative to the view controller's
>> topLayoutGuide) in an override of -viewDidLayoutSubviews.
>>
>>>
>>>
>>> Alternatively, if in the storyboard, on the UIPageController, I set the
>>> “Under Top Bars” to no, my custom view draws in the screen space under
>>> the navigation bar. When I toggle the navigationBarHidden, the view
>>> stretches to fill the full height of the screen, but I never get a redraw
>>> call, so the drawing is stretched.
>>
>> This is expected. Views that need to redraw when they change size should
>> override -setBounds: to call [self setNeedsDisplay].
>
> If you need to redraw on bounds change, change the contentMode to Redraw. Overriding -setBounds: is insufficient and unnecessary.
>
>>
>> --Kyle Sluder
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
> --
> David Duncan
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden