0

XMLparserからの文字列を使用してNSStatusBarの「setTitle」を実行したいと考えています。アプリケーションが起動すると、ステータスバーにタイトルが正しく表示されます。ただし、XMLデータが更新されると、タイトルには更新された文字列が表示されますが、タイトルはステータスバーの左側に移動します。XMLが更新された後、タイトルを同じ場所に残したい。

これを引き起こしているのは何ですか?

アプリケーションの開始時:

ここに画像の説明を入力してください

XMLデータが更新された後:

ここに画像の説明を入力してください

ここで、NSStatusBarを呼び出しています。

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

    if ([elementName isEqual:@"temp_f"]) {
        [xmlTempF appendString:@"°F"];
        [degreesF setStringValue:xmlTempF];

        statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
        [statusItem setTitle:xmlTempF];
        [statusItem setHighlightMode:YES];
    }
}
4

1 に答える 1

1

から新しいアイテムを作成しているためのようです。statusItemWithLength再宣言する必要はありませんstatusItem。その行を削除して、タイトルを変更してみてください。

于 2012-02-17T04:21:09.347 に答える