क्या कोई तरीका है कि मेरे पास UINavigationController
हो और क्या यह हमेशा UIBarButtonItem
प्रदर्शित करेगा चाहे कितनी बार इसे धक्का दिया जाए?UINavigationController में निरंतर UIBarButtonItem
5
A
उत्तर
1
इस-
- बनाएं उपवर्ग (
CustomNavigationController
)UINavigationController
& का प्रयास करें इसका इस्तेमाल करते हुए अपने दृश्य नियंत्रक पुश करने के लिए। CustomNavigationController
UIBarButtonItem
init
याviewDidLoad
मेंUIBarButtonItem
बनाएं।target
&action
इसमें जोड़ें।UINavigationControllerDelegate
CustomNavigationController
में प्रतिनिधियों को लागू करें और प्रतिनिधि विधि में प्रत्येक दृश्य नियंत्रक के लिए दाएं या बाएं बार बटन आइटम के रूप में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
तुम इतनी कोई फर्क नहीं पड़ता कि यह कैसे कई बार धक्का दिया है बना सकते हैं एक वैश्विक UITabBarController
UINavigationController
में है कि आपके धक्का नियंत्रक, तो अपने धक्का नियंत्रकों 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];
}