On 31 Jul 2014, at 00:18, David Duncan <david.dun...@apple.com> wrote:

>> That's the purpose of setting the auto-resizing mask to FlexibleWidth. At 
>> least for title views, that causes UINavigationBar to send -sizeThatFits: to 
>> the view.
> 
> For UINavigationBar you shouldn’t need to even set flexible width, just 
> implement -sizeThatFits:. Unfortunately UIToolbar does not call 
> -sizeThatFits: for the views of bar button items.
> 
> Gerriet, you can try setting the frame of the slider then calling 
> -setNeedsLayout/-layoutIfNeeded on the toolbar to update the layout. If you 
> do this within the standard layout callbacks it should go along with any 
> animation that is already going.

Following your suggestion I changed my code to:

override func viewWillLayoutSubviews()  //      manage slider in bottomToolBar
{
        //      current width of toolbar is all wrong. Need to do:
        bottomToolBar.setNeedsLayout()
        bottomToolBar.layoutIfNeeded()
        
        //      now the toolbar width seems to be right 
        let b = bottomToolBar.frame.size.width
        speedSlider.frame.size.width = b - 40
        
        bottomToolBar.setNeedsLayout()
        bottomToolBar.layoutIfNeeded()
}

Works perfectly now. Thanks a lot!


Kind regards,

Gerriet.



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to