我承認我是Objective-C的newby,但是我想我已經走得很遠了。現在我遇到問題,需要一些幫助。我需要初始化新視圖嗎?
在我的應用程序中,我在其他信息中以縱向模式顯示圖像,並希望以橫向模式全屏顯示它們。我知道你會這樣做,定義一個Landscape m,h和nib文件,並在設備移動到橫向(與觀察者一起工作)時加載該視圖,對嗎?
在縱向模式下,圖像最終取決於用戶交互,因此需要告知Landscape類,要顯示哪個圖像。我在景觀類
-(void) putImage:(NSString *)theImage {
pict.image = [UIImage imageNamed: theImage];
NSLog(@"PICT %@",pict.image);
NSLog(@"IMAGE %@",theImage);
}
創建PUTIMAGE方法,並從人像一個調用它,來這裏的問題:
NSString *actualImage = [NSString stringWithFormat:@"Picture%i.jpg",selected];
pict.image = [UIImage imageNamed: actualImage];
[landscapeViewController putImage:actualImage];
,每次完美的作品,除了第一個之一。因此,無論我做什麼,我都需要先讓應用程序以任何方式加載新圖像,並改變爲橫向(不顯示圖像)。然後,它始終顯示正確的圖像。
我添加了調試信息,看到正確的圖像被分配到景觀類中的圖片 - 但它似乎需要在它真正設置圖像之前顯示。
任何幫助你們可以給?
向我們展示瞭如何初始化您的LandscapeViewController類,它是否與您在問題中提到的Landscape類相同,還是僅僅是一個視圖?也需要查看代碼。我懷疑你在UIView實例初始化時(如果你實際上有一個)沒有爲視圖設置CGRect。 – Rog 2011-03-14 20:33:00
嗨。這是所有 - 在viewDidLoad的肖像:\t LandscapeViewController * viewController = [[LandscapeViewController alloc] initWithNibName:@「LandscapeView」bundle:nil]; \t自我。landscapeViewController = viewController; \t [viewController release]; 則下一個步驟是顯示: 如果 \t { [自我presentModalViewController:self.landscapeViewController動畫:是];}(UIDeviceOrientationIsLandscape(deviceOrientation)&& isShowingLandscapeView!) – rummsmummel 2011-03-14 21:05:22
是的,在端部的LndsacpeViewController類只具有ViewWillAppear ViewWillDisappear和putImage方法,並在xib文件中填充整個內容區域的圖像。 – rummsmummel 2011-03-14 21:11:42