Я пытаюсь загрузить plist из основного пакета, и он работает не очень хорошо. Я продолжаю получать недействительный CFStringRef, который приводит к нулю для всех дисплеев, которые я хотел.
Чтобы сделать это еще более странным. Отлично работает в симуляторе. Я приложил это изображение, чтобы помочь объяснить.
http://img847.imageshack.us/img847/1185/screenshot20110325at120m.png
Это не имеет никакого смысла для меня. Он работает в симуляторе, почему он не работает на устройстве?
- (void)viewDidLoad {
[super viewDidLoad];
imageV = [[UIImage alloc]init];
imageV = [UIImage imageNamed:[NSString stringWithFormat:@"%@", imageTitle]];
button = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect frame = CGRectMake(0, 0, 320, 65);
button.frame = frame; // match the button's size with the image size
[button setBackgroundImage:imageV forState:UIControlStateNormal];
[button addTarget:self action:@selector(adClicked:) forControlEvents:UIControlEventTouchUpInside];
button.backgroundColor = [UIColor clearColor];
[self.view addSubview:button];
NSLog(@"%i %@", [self.view.subviews count], webLink);
}
как в симуляторе, так и на устройстве консоль сообщает, что в каждом созданном представлении имеется одно подпредставление. В симуляторе кнопка добавляется и появляется с измененным изображением. Однако на устройстве кнопка не отображается с измененным изображением. хотя там написано, что кнопка есть, она просто не появляется, и я не могу с ней взаимодействовать, даже если изображение просто не было установлено.
// addScroller.m
Я попытался очистить цель и добавить изображения непосредственно в папку приложения ... У меня ничего нет. Моя следующая ставка заключается в том, что это как-то связано с тем, что я загружаю его из файла plist или чего-то еще. Я переименовал папку с объявлениями, сделал ее строчной буквой и начал с нуля. будет ли plist причиной проблемы? это способ, которым я загрузил его, изменяя корпус файла или изменяя строки?
- (void)viewDidLoad {
[super viewDidLoad];
adIndex = 0;
adTimer = [[NSTimer alloc]init];
ad = [[Ad alloc]init];
adsList = [[NSMutableDictionary alloc]init];
item = [[NSDictionary alloc]init];
filePath = [[NSString alloc]init];
filePath = [[NSBundle mainBundle] pathForResource:@"Ads" ofType:@"plist"];
NSLog(@"%@", filePath);
adsList = [[[NSMutableDictionary alloc] initWithContentsOfFile:filePath]retain];
for (int i = 0; i < [adsList count]; i++) {
item = [[NSDictionary alloc]init];
item = [adsList valueForKey:[NSString stringWithFormat:@"%i", i ]];
ad = [[Ad alloc] initWith:[item objectForKey:@"adImage"] Link:[item objectForKey:@"website"]];
//[ads addObject:a];
ad.view.frame = CGRectMake(320 * i, 0, 320, 65);
[adsView addSubview:ad.view];
[item release];
}
[adsView setContentSize:CGSizeMake(320 * [adsList count], 65)];
adsView.pagingEnabled = YES;
adIndex = HBRandomInt([adsList count]);
[self scrollAds];
[NSTimer scheduledTimerWithTimeInterval:8.0
target:self
selector:@selector(scrollAds)
userInfo:nil
repeats:YES];
//[adTimer release];
//[ad release];
//[item release];
//[adsList release];
}
РЕДАКТИРОВАТЬ: я загрузил изображение в другом месте в приложении, и он работал нормально