0

我想用我的 XMLparser 中的字符串“setTitle”NSStatusBar。当应用程序启动时,它会在状态栏中正确显示标题。但是,当刷新 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 回答