2012-07-31 3 views
-1

앱이 뷰 배경에서 열릴 때마다 이미지가 변경되는 다른 앱을 보았습니다. 이것이 어떻게 완성 되었습니까?iOS 앱의 배경에 여러 이미지가 있습니다.

+0

"앱이보기 배경에서 열림"이란 무엇을 의미합니까? 앱을 설치 한 후에는 시작 이미지를 변경할 수 없습니다. 다른 의미가 있니? 원하는 것을하는 응용 프로그램의 예를 들려 줄 수 있습니까? – Jim

+0

앱을 열 때마다보기 배경 이미지가 변경됩니다. FHU Mobile은 FHU Mobile입니다. – user717452

답변

0

추가 background_0.png, background_1.png, background_2.png, background_3 : 당신이보기를 제시하는 INT을 확인하고이 같은 배경 이미지를 설정하는 경우 각 응용 프로그램 실행 1.하여 증가. png 등을 프로젝트에 추가하십시오.

#define max_image_number 3

당신의 viewDidLoad 메서드에 다음을 추가합니다

-(void)viewDidLoad { 
    [super viewDidLoad]; 
    [self updatedBackgroundImage]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateBackgroundImage) name:UIApplicationWillEnterForegroundNotification object:nil]; 
} 

-(void) updateBackgroundImage{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    if (![defaults integerForKey:@"imageNumber"]) { 
       [defaults setInteger:0 forKey:@"imageNumber"]; 
      } 

      int i = [defaults integerForKey:@"imageNumber"]; 

      myUIimageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"background_%d.png",i]]; 
      i++; 

      if (i > max_image_number) { 
       [defaults setInteger:0 forKey:@"imageNumber"]; 

      }else{ 
       [defaults setInteger:i forKey:@"imageNumber"]; 
      } 
    ... 

    } 

다음은의 ViewController가 처음로드 될 때 위의 이미지를 업데이트하고 또한 백그라운드에서 실행 반환 할 때. 나는 이것이 당신을 위해 놓치고 있었던 것이라고 생각한다. :).

viewDidUnload 메서드에서 알림 수신 대기를 반드시 수행해야하며 설정해야합니다.

+0

왜 이것이 표시되지 않았습니까? 질문에 자세히 대답합니다. – AppHandwerker

+0

잘 모르겠지만 ... 짐이나 테오도르가 아마도 질문을 이해하지 못해 붙잡 았을 가능성이 있습니다. – user717452

+0

찾고 계신 답변이 맞습니까? 있는 경우 동의하십시오. 그것이 아니라면 또한 말을하고 나는 그것을 시도하고 고칠 것입니다. – AppHandwerker

0

응용 프로그램의 App Store에있는 스크린 샷을 보면 메인 메뉴에 대한보기 계층의 뒤에 UIImageView이있는 것 같습니다. UIImage 개체를 image 속성에 할당하여이를 변경할 수 있습니다.

+0

예, 배경 이미지를 설정하는 방법을 알고 있습니다. 그러나, 그들의 배경 이미지는 주기적으로 바뀔 것입니다. – user717452

+0

저는 여러분이 무엇을 요구하고 있는지 정말로 확신하지 못합니다. 이미지를 변경하는 방법을 알고 있다면 변경으로 인해 멈출 수있는 것은 무엇입니까? – Jim

+0

@TeodorCarstea 귀하의 의견은 쓸모 없다고 표시됩니다. 앱에서 다운로드 한 후 탭 막대 컨트롤러의 배경 이미지 하나가 표시됩니다. 잠시 후에 앱을 다시 시작하면 배경이 달라집니다. 그게 내가 한 일이 아니라, 한 번만 변경하고 바이너리를 다시 제출하지 않는 것입니다. – user717452

0

응용 프로그램 실행에 따라 하나 이상의보기의 배경 이미지를 변경한다고 가정합니다.

NSUserDefaults에 int x = 0을 저장하십시오.

switch(x%3){// %3 just to make it a bit random 
    case 0://set this image; 
     break; 
    case 1://set that image 
     break; 
     //and so on 
} 
1

iOS 시스템이 백그라운드에 넣기 전에 앱을 캐시 된 스크린 샷으로 보입니다.

이 내용은 자동으로 처리되므로이를 가로 채기위한 기회가 있습니다.

이 답변을 확인해보십시오. 배경을 입력하는 것처럼 앱 위에 이미지를 놓을 수 있습니다.이 정보는 캐싱되어 앱을 다시 실행하는 데 사용됩니다.