2012-11-21 15 views

उत्तर

1

इस-

  1. बनाएं उपवर्ग (CustomNavigationController) UINavigationController & का प्रयास करें इसका इस्तेमाल करते हुए अपने दृश्य नियंत्रक पुश करने के लिए।
  2. CustomNavigationControllerUIBarButtonIteminit या viewDidLoad में UIBarButtonItem बनाएं। target & action इसमें जोड़ें।
  3. UINavigationControllerDelegateCustomNavigationController में प्रतिनिधियों को लागू करें और प्रतिनिधि विधि में प्रत्येक दृश्य नियंत्रक के लिए दाएं या बाएं बार बटन आइटम के रूप में barButtonYouCreated सेट करें।

उपयोग

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    viewController.navigationItem.leftBarButtonItem = barButtonYouCreated; 
} 

या

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
0

आप UINavigationControllerDelegate नीचे के रूप में उपयोग कर सकते हैं:

- (void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

और यह प्रतिनिधि विधि में, आप करने के लिए एक barButtonItem जोड़ने के लिए जाँच कर सकते हैं नेविगेशन बार।

0

तुम इतनी कोई फर्क नहीं पड़ता कि यह कैसे कई बार धक्का दिया है बना सकते हैं एक वैश्विक UITabBarControllerUINavigationController में है कि आपके धक्का नियंत्रक, तो अपने धक्का नियंत्रकों navigationbar छिपा

0

बनाने या एक UINavigationController श्रेणी का उपयोग करने की कोशिश, और वापस आइटम को अनुकूलित, , नेविगेशन नियंत्रक की पिछली वस्तु के लिए बस एक ही दृश्य सेट करें। कुछ ऐसा:

@implementation UIViewController (CustomNavigation) 

- (void)setLeftBarButtonItem:(UIButton*)leftview 
{  
    UIBarButtonItem *customItem = [[[UIBarButtonItem alloc] initWithCustomView:leftview] autorelease]; 
    self.navigationItem.leftBarButtonItem = customItem; 
    [(UIButton*)self.navigationItem.leftBarButtonItem.customView addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside]; 
} 
संबंधित मुद्दे