CPTPlotSpaceAnnotation с изображением не работает на устройстве, работает в симуляторе - PullRequest
0 голосов
/ 07 января 2012

Я попытался добавить аннотацию изображения к барплоту.Он прекрасно работает в симуляторе iOS, но аннотации изображения не отображаются на устройстве.Я использую Xcode 4.2.Протестировано на двух устройствах: одно - iOS 4.3, другое - iOS5.0.1.

Я использую armv7 с компилятором Apple LLVM 3.0.Я знаю, что имя файла изображения чувствительно к регистру и оно правильное.

Код, который я пробовал, приведен ниже:

CPTPlotSpaceAnnotation *imageAnnotation;
CGRect imageRect = CGRectMake(50, 50 ,30, 30);
CPTLayer *newImagelLayer = [[CPTLayer alloc] initWithFrame:imageRect];
newImagelLayer.contents = (id)[[UIImage imageNamed:@"test.png"] CGImage];
imageAnnotation = [[CPTPlotSpaceAnnotation alloc] initWithPlotSpace:plotSpace anchorPlotPoint:nil];
imageAnnotation.contentLayer = newImagelLayer;
[barPlot addAnnotation:imageAnnotation];
[newImagelLayer release];
[imageAnnotation release];

Это известная проблема?Я не понимаю, почему это работает в симуляторе, но не на устройстве.

Ответы [ 3 ]

1 голос
/ 23 января 2012

Я думаю, что вы можете сделать это, используя CPTFill для CPTBorderedLayer.

CPTPlotSpaceAnnotation *imageAnnotation;
CGRect imageRect = CGRectMake(50, 50 ,30, 30);
CPTBorderedLayer *newImagelLayer = [[CPTBorderedLayer alloc] initWithFrame:imageRect];
newImagelLayer.fill = [CPTFill fillWithImage:[CPTImage imageWithCGImage:[[UIImage imageNamed:@"dot-selector.png"] CGImage]]];
imageAnnotation = [[CPTPlotSpaceAnnotation alloc] initWithPlotSpace:plotSpace anchorPlotPoint:nil];
imageAnnotation.contentLayer = newImagelLayer;
[barPlot addAnnotation:imageAnnotation];
[newImagelLayer release];
[imageAnnotation release];
0 голосов
/ 19 марта 2015

Является ли ресурс с именем "test.png", файловая система в OSX нечувствительна к регистру, iOS -. Это приведет к тому, что он будет работать для симулятора, а не для устройства.

0 голосов
/ 07 января 2012

Это может быть потому, что вы не добавили test.png к цели. Это работает нормально в симуляторе, но на устройстве, если ресурс не добавлен к цели, он не будет скопирован в генерируемый файл ipa.

Отметьте вкладку Фазы сборки вашей цели в разделе Копировать ресурсы комплекта , если в списке указан test.png, если нет, вы можете просто перетащить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...