HBAppearanceSettings inits all its default values in - (instancetype)init (including the crucial _translucentNavigationBar, in fact, that's the only thing it inits). However, for most HBListControllers, hb_appearanceSettings is never set, so when PSListController+HBTintAdditions.x accesses self.hb_appearanceSettings.translucentNavigationBar on line 96, hb_appearanceSettings is nil so self.hb_appearanceSettings.translucentNavigationBar is NO even though its default should be YES. The fix for this is just to set hb_appearanceSettings to a new instance of HBAppearanceSettings in HBListController's init so that self.hb_appearanceSettings is never nil and all the default values are read correctly.
HBAppearanceSettings inits all its default values in
- (instancetype)init
(including the crucial _translucentNavigationBar, in fact, that's the only thing it inits). However, for most HBListControllers,hb_appearanceSettings
is never set, so when PSListController+HBTintAdditions.x accessesself.hb_appearanceSettings.translucentNavigationBar
on line 96,hb_appearanceSettings
is nil soself.hb_appearanceSettings.translucentNavigationBar
isNO
even though its default should beYES
. The fix for this is just to sethb_appearanceSettings
to a new instance of HBAppearanceSettings in HBListController's init so thatself.hb_appearanceSettings
is nevernil
and all the default values are read correctly.