double i = Double.NaN;
NaN ничему не равен, включая себя.
Я почти уверен, что единственный способ «скрыть» это - обнулить его.
self.navigationItem.leftBarButtonItem = nil;
Хотя это не идеальный ответ на ваш вопрос, так как это в основном избавляет от вашей кнопки вместо того, чтобы скрывать это. Вам придется либо воссоздать ее, либо оставить исходную кнопку и просто вернуть leftBarButtonItem в свой UIBarButtonItem.
There's nothing in the documentation to suggest bar items have a hidden property.
Why not set
self.navigationItem.leftBarButtonItem = nil;
when the user isn't editing, then set
self.navigationItem.leftBarButtonItem = whateverBarButtonItem;
when the user is editing? This requires either re-creating the button each time or storing it for the duration of the view's lifecycle. Neither is terribly painful, but no, not nearly as easy as a .hidden property.
Это работает Я сам пробовал
self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.hidesBackButton = YES;