@ -39,6 +39,8 @@ class ContactViewController: OWSViewController, ContactShareViewHelperDelegate {
private var contactShareViewHelper : ContactShareViewHelper
private weak var postDismissNavigationController : UINavigationController ?
// MARK: - I n i t i a l i z e r s
@ available ( * , unavailable , message : " use init(call:) constructor instead. " )
@ -85,6 +87,10 @@ class ContactViewController: OWSViewController, ContactShareViewHelperDelegate {
owsFail ( " \( logTag ) in \( #function ) navigationController was unexpectedly nil " )
return
}
// s e l f . n a v i g a t i o n C o n t r o l l e r i s n i l i n v i e w W i l l D i s a p p e a r w h e n t r a n s i t i o n v i a m e s s a g e / c a l l b u t t o n s
// s o w e m a i n t a i n o u r o w n r e f e r e n c e t o r e s t o r e t h e n a v i g a t i o n b a r s .
postDismissNavigationController = navigationController
navigationController . isNavigationBarHidden = true
contactsManager . requestSystemContactsOnce ( completion : { [ weak self ] _ in
@ -98,14 +104,15 @@ class ContactViewController: OWSViewController, ContactShareViewHelperDelegate {
if self . presentedViewController = = nil {
// N o n e e d t o d o t h i s w h e n w e ' r e d i s a p p e a r i n g d u e t o a m o d a l p r e s e n t a t i o n .
// W e ' l l e v e n t u a l l y r e t u r n t o t o t h i s v i e w a n d n e e d t o h i d e a g a i n . B u t a l s o , t h e r e i s a v i s i b l e a n i m a t i o n g l i t c h w h e r e t h e n a v i g a t i o n b a r f o r t h i s v i e w c o n t r o l l e r s t a r t s t o a p p e a r w h i l e t h e w h o l e n a v s t a c k i s a b o u t t o b e o b s c u r e d b y t h e m o d a l w e a r e p r e s e n t i n g .
guard let navigationController = self . navigationController else {
owsFail ( " \( logTag ) in \( #function ) navigationController was unexpectedly nil " )
// W e ' l l e v e n t u a l l y r e t u r n t o t o t h i s v i e w a n d n e e d t o h i d e a g a i n . B u t a l s o , t h e r e i s a v i s i b l e
// a n i m a t i o n g l i t c h w h e r e t h e n a v i g a t i o n b a r f o r t h i s v i e w c o n t r o l l e r s t a r t s t o a p p e a r w h i l e
// t h e w h o l e n a v s t a c k i s a b o u t t o b e o b s c u r e d b y t h e m o d a l w e a r e p r e s e n t i n g .
guard let postDismissNavigationController = self . postDismissNavigationController else {
owsFail ( " \( logTag ) in \( #function ) postDismissNavigationController was unexpectedly nil " )
return
}
n avigationController. setNavigationBarHidden ( false , animated : animated )
postDismissN avigationController. setNavigationBarHidden ( false , animated : animated )
}
}