Получавам грешка на неразпознатия селектор, изпратен до инстанция, докато персонализирам UIToolbar и аспекта UISearchBar чрез UIAppearance.
Странното е, че се срива само на 6.1 или по-ниска, на iOS7 е добре и не се срива.
Това е кодът, който използвам:
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbarBackground"] forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefaultPrompt];
[[UIToolbar appearance] setTintColor:[UIColor whiteColor]];
[[UISearchBar appearance]setBackgroundImage:[UIImage imageNamed:@"searchBarBackground"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[[UISearchBar appearance] setTintColor:[UIColor whiteColor]];
и трябва да е добре. Но всеки път, когато стартирам приложението на iOS 6.1 Simulator, получавам
-[_UIAppearance setBackgroundImage:forBarPosition:barMetrics:]: unrecognized selector sent to instance 0xaba4550
както за UIToolbar, така и за UISearchBar. Сигурен съм, че те причиняват срива, защото ако коментирам редовете, приложението стартира нормално.
Какво не е наред с този код? Наистина съм заседнал с това.
РЕДАКТИРАНЕ Успях да го накарам да работи, като настроих аспекта в класовете, които трябваше да бъдат персонализирани, като:
[[UISearchBar appearance]setBackgroundImage:[UIImage imageNamed:@"searchBarBackground"]];
Но сега, когато докосна лентата за търсене, тя ми дава аспекта по подразбиране.