2014-10-10 10 views
15

के साथ वापस आ एनीमेशन मैं के साथ एक कस्टम बटन नेविगेशन पट्टी में जोड़ाiOS7 नेविगेशन पट्टी: 3 अजीब डॉट्स दिखाई देने कस्टम बटन

[self.navigationController popViewControllerAnimated:YES] 

का उपयोग कर वापस नेविगेशन एनीमेशन का उपयोग करना चाहते हैं।

मैं वापस बटन देखा जा नहीं करना चाहती के रूप में, मैं इसे self.navigationItem.hidesBackButton = YES;

साथ द्वारा छिपाए गए लेकिन वापस एनीमेशन के दौरान, iOS7 पर (iOS6 नहीं) 3 डॉट्स नेविगेशन पट्टी में रपट देखा जा सकता है । वे self.navigationItem.hidesBackButton = NO; के साथ नहीं दिख रहे हैं लेकिन निश्चित रूप से बटन देखा जा सकता है।

क्या किसी को भी उन्हें प्रकट नहीं होने का कोई विचार है?

+1

वास्तव में मैं इस प्रकार की समस्या हो रही है गुण क्या आप इसको हल कर सकते हैं ? –

+1

मैं 'स्वयं का उपयोग कर रहा हूँ।नेविगेशन Item.hidesBackButton = हाँ; ''viewWillAppear' के तहत 'और' self.navigationItem.hidesBackButton = NO; 'के तहत' -viewWillDisappear' 'के तहत और मुझे इसका अनुभव नहीं है .. अजीब .. – 0yeoj

+1

कृपया इसे जांचें: http: // stackoverflow.com/a/37917633/1517506 – Parthpatel1105

उत्तर

2

backButton को छिपाने की कोई आवश्यकता नहीं है, आप केवल कस्टम बैक बटन जोड़ सकते हैं, यह डिफ़ॉल्ट बटन छुपाएगा।

- (void) viewDidLoad 
{ 
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(handleBack:)]; 
    self.navigationItem.leftBarButtonItem = backButton; 
} 

- (void) handleBack:(id)sender 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
+0

यही वह है जो मैं अब करने की कोशिश कर रहा हूं, भले ही यह एक सही समाधान न हो, क्योंकि टी नेविगेशन बार में पैडिंग आईओएस 6 और आईओएस 7 में समान नहीं होगा। लेकिन आपके समाधान के लिए धन्यवाद हालांकि मैं बैक एनीमेशन के बाद इस बटन को फिर से दिखाने के लिए इस पल के लिए सफल नहीं हूं। – user3820585

9

आप

self.navigationItem.hidesBackButton = YES 

सेट करते हैं आईओएस कभी कभी अपने सामान्य वापस बटन के अंदर तीन बिंदुओं उत्पन्न होगा। मैंने जेनेरिक बैक बटन पर टेक्स्ट को खाली रखने के लिए समस्या को हल करके समस्या हल की और फिर मैंने अपना कस्टम बटन बनाया।

UIBarButtonItem *backButton2 = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; 
self.navigationItem.backBarButtonItem = backButton2; 

और फिर मैं अपने कस्टम UIButton बनाया है और वह रखा जहां मैं इसे इस तरह चाहता था:

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(5, 70/2-22, 44, 44)]; 
[backButton setImage:[[UIImage imageNamed:@"back_button.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; 
backButton.tintColor = tintColor; 
backButton.imageEdgeInsets = UIEdgeInsetsMake(-2, -15, 0, 0); 


[backButton addTarget:self action:@selector(popCurrentViewController) forControlEvents:UIControlEventTouchUpInside]; 
+0

बहुत उपयोगी उत्तर .. – KSR

2

बस viewWillAppear विधि में इन निम्न पंक्तियां जोड़ें: यह मैं रिक्त पाठ कैसे सेट किया गया है

स्विफ्ट:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)

उद्देश्य सी:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

सभी

0

सरल तेज संस्करण है कि:

let emptyBackButton = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) 
navigationItem.hidesBackButton = true 
navigationItem.backBarButtonItem = emptyBackButton 
1

navigationItem.backBarButtonItem = शून्य

0

आप किसी भी कोड लिखने की जरूरत नहीं है बस का पालन करें 4 सरल कदम और आपने इसे किया।

  1. नेविगेशन नियंत्रक में अपने Main.storyboard
  2. करें नेविगेशन बार का चयन करें
  3. करें इंस्पेक्टर
  4. साफ़ टिंट रंग

enter image description here

संबंधित मुद्दे