2011-03-25 3 views
0

주 번들에서 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]; 

} 

편집 : 나는 다른 응용 프로그램에서 사진을로드는

답변

0

하는 시뮬레이터 (맥) 대소 문자를 구분하지 않습니다 시도 [[NSString alloc] init];

사용하지 마십시오 괜찮 았는데 . 장치가 있습니다. 이것은 종종 시뮬레이터에서 정상적으로 작동하는 것처럼 보이는 장치에 리소스를로드하는 데 문제를 일으키는 경우가 많습니다.

0

NSString *filePath = nil;

+0

작동하지 않습니다. 'dictionaryWithContentsOfFile : filePath' 대신'initWithContentsOfFile : filePath'을 시도해 보았습니다. @ __ @ – Ohmnastrum

+0

에 대해 잘 모릅니다. – WrightsCS

+0

괜찮 았어. 하지만 이제 문제는 시뮬레이터에서 뷰를 생성하고로드 할 때 뷰가 표시되지만 장치에는 표시되지 않는다는 것입니다. 동일한 코드이지만 장치에 표시되지 않습니다. 나는 그 질문을 갱신해야한다. – Ohmnastrum

관련 문제