Я пытался решить эту проблему. В основном я использую удобную функцию RIC UIColor, чтобы вернуть UIColor, чтобы подкрасить мой UINavigationBar, UIToolbar и другие объекты. Тем не менее, по какой-то причине в Instruments все время говорят, что у меня утечка памяти при каждой загрузке UIView. Любая помощь будет оценена. Я упростил код здесь для ясности. Вот моя функция (функция имеет переменные RGB и Alpha), которая находится в глобальном одноэлементном классе:
- (UIColor *)returnSelectedColor{
return [UIColor colorWithRed:(100)/255.0 green:(100)/255.0 blue:(100)/255.0 alpha:(1.0)];
}
В моем RootViewController я установил это в ViewWillAppear (иногда между вызовами может измениться оттенок, однако я пробовал ViewDidLoad, но проблема все еще была). Я пробовал два разных подхода к решению этой проблемы, но утечка все еще присутствует.
Первый подход был просто установить оттенок, когда вид выглядит так:
self.navigationController.navigationBar.tintColor=[[GlobalData sharedGlobalData] returnSelectedNavigationColor];
Второй подход состоял в том, чтобы создать свойство UIColor для представления, установить для него требуемый UIColor, а затем установить оттенок навигационной панели на это свойство, когда представление закрывается, я освобождаю свойство. Этот подход также вызывает утечку памяти. Вот код:
if(self.navigationToolbarColor!=nil){
[self.navigationToolbarColor release];
}
self.navigationToolbarColor=[[[GlobalData sharedGlobalData] returnSelectedNavigationColor] retain];
self.navigationController.navigationBar.tintColor=self.navigationToolbarColor;
Кто-нибудь имеет представление о том, что может быть проблема? Заранее спасибо.