मुझे आईओएस में UINavigationBar
बग मिला। self.navigationItem.rightBarButtonItems = @[fixSpaceItem, item]
के साथ दृश्य में सेटअप नेविगेशन आइटम बटन। और जेस्चर पॉप बैक का उपयोग करें, लेकिन जब मैं पॉप बैक शुरू करता हूं, तो मैं वास्तव में वापस नहीं आ जाता, मैं अपनी उंगली छोड़ देता हूं और व्यू कंट्रोलर पॉप को वापस रद्द कर देता हूं, फिर दाएं नेविगेशन बटन आइटम गायब हो जाते हैं। बाएं आइटम बटन में एक ही समस्या है। इस बग को पुन: उत्पन्न करने के लिए, आपको [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]
जैसे fixSpaceItem जोड़ना होगा। और असली डिवाइस लेकिन सिम्युलेटर बग को पुन: पेश नहीं कर सकता है।आईओएस 11 नेविगेशन BarButtonItems बग कैसे संभालें?
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
self.navigationController.interactivePopGestureRecognizer.delegate = self;
self.navigationItem.rightBarButtonItems = @[[self negativeSpacerWithWidth:5],[self rightButton]];
self.navigationItem.leftBarButtonItems = @[[self negativeSpacerWithWidth:5], [self leftButton]];
}
- (UIBarButtonItem *)leftButton {
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
[button setImage:[UIImage imageNamed:@"icon_app_back_normal"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];
return item;
}
- (UIBarButtonItem *)rightButton {
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
[button setImage:[UIImage imageNamed:@"setting"] forState:UIControlStateNormal];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];
return item;
}
- (UIBarButtonItem *)negativeSpacerWithWidth:(CGFloat)width {
UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[spacer setWidth:width];
return spacer;
}
मैं एक ही दिखाई दे रही है भी तय अंतरिक्ष के बिना। मेरे मामले में, एनएवी बार उस व्यू कंट्रोलर के नेविगेशन आइटम को अपडेट करता है जिसे आप पॉप-अप कर रहे हैं, लेकिन जब आप पॉप मिड-इशारा रद्द करते हैं तो वर्तमान दृश्य नियंत्रक नेविगेशन आइटम पर कभी भी वापस नहीं आते। उम्मीद है कि अगले बीटा में इसे मंजूरी दे दी जाएगी। –