2013-08-21 14 views
6

मैं UIBarButtonItem के title को बदलना चाहता हूं।मैं UIBarButtonItem का शीर्षक क्यों नहीं बदल सकता?

लेकिन यह कोड काम नहीं कर रहा है।

- (void)viewDidLoad { 
    ...   
    [self smay]; 
} 

- (void)smay { 
    ... 

    AppDelegate *apd = (AppDelegate*)[[UIApplication sharedApplication]delegate]; 
    NSString *SmayUse = [NSString stringWithFormat:@"%d月%d日", 
          apd.newyear,apd.newmonth]; 
    [_smay setTitle:SmayUse] 
} 

मुझे नहीं पता कि इस समस्या को कैसे हल किया जाए।

कृपया मुझे इस समस्या को हल करने का एक तरीका बताएं।

+0

क्या आपने जांच की है कि SmayUse शून्य है या नहीं? –

+0

आप 'UIBarButtonItem' कहां/कैसे घोषित कर रहे हैं मैं इसे इस उदाहरण में याद कर रहा हूं। – rckoenes

उत्तर

-3

item.title = @"new title" काम करना चाहिए।

+0

असल में ओपी कुछ नहीं होने के बारे में बात कर रहा था। जैसा कि अन्य ने सुझाव दिया है कि इसे ठीक से शुरू नहीं किया जा सकता है, लेकिन मुझे नहीं लगता कि यह मामला है। मुझे संदेह है कि कारण कुछ भी है कि मैं भी सोच नहीं सकता। –

-1

आपको यह सुनिश्चित करना होगा कि बटन प्रारंभ हो गया है। यदि यह .xib फ़ाइल का हिस्सा है, तो सुनिश्चित करें कि आपने इसे अपने @property से लिंक किया है जिसमें इसके साथ जुड़े IBOutlet भी हैं। अन्यथा आपको इसे प्रोग्रामिक रूप से प्रारंभ करने की आवश्यकता है। साथ ही, आपको विधि setTitle:forState: का उपयोग करना चाहिए। तो फिर आप अपने कोड में कहीं और शीर्षक बदलना चाहते हैं

_smay = [[UIBarButtonItem alloc] initWithTitle:@"Your Title" 
      style:UIBarButtonItemStyleBordered 
      target:self action:@selector(yourMethod)]; 

self.navigationItem.rightBarButtonItem = _smay; 

,:

[_smay setTitle:@"Your Other Title"]; 

आईओएस 8 और उच्च

UIBarButtonItemStyleBordered

+0

UIBarButtonItem में 'setTitle: forState:' नामक विधि नहीं है। – hgwhittle

5

इस तरह से अपनी UIBarButtonItem प्रारंभ बहिष्कृत है, तो नीचे का उपयोग करें।

[[UIBarButtonItem alloc] initWithTitle:@"Your Title" 
       style:UIBarButtonItemStylePlain 
       target:self action:@selector(yourMethod)]; 
+0

मैंने अपना रास्ता तय किया। लेकिन कोड शीर्षक को बदल नहीं सकता है। – Rukkora

+0

कृपया उस कोड को पोस्ट करें जहां आप अपना UIBarButtonItem – hgwhittle

+0

प्रारंभ कर रहे हैं - (शून्य) oped: (NSInteger) newy: (NSInteger) newd – Rukkora

0

यदि u नेविगेशन पट्टी के शीर्षक बदलना चाहते प्रोग्राम के रूप में इसका मतलब है

UIBarButtonItem *aDoneItem = [UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleBordered 
    target:self 
    action:@selector(toggleEdit:)]; 

navigationController.rightBarButtonItem = aDoneItem; 

aDoneItem.title = @"Something"; 
संबंधित मुद्दे