簡體   English   中英

與另一個視圖控制器中的視圖控制器進行交互

[英]Interact with a view controller from another view controller

我希望我的視圖控制器在單擊按鈕時檢查另一個視圖控制器上是否有圖像。 但是到目前為止,即使有圖像,模擬器也不會執行循環。

碼:

- (IBAction)buttonClicked:(id)sender {

    iPhotoViewController *photo = [[iPhotoViewController alloc] initWithNibName:@"iPhotoViewController" bundle:nil]  ;


    if (photo.mainView.image)
    {
        but = (UIButton *) sender;
        self.selectedImage = [_images objectAtIndex:but.tag];

        iPhoto2AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
        [delegate.navController popViewControllerAnimated:YES];

        [photo release];
    }

謝謝,Praveen

您正在創建iPhotoViewController的新實例,這意味着您要使用的圖像必須在nib文件中可用。 而且在nib文件中可用意味着它在您的項目中可用,因此創建一個新的iPhotoViewController只是為了查看該圖像是否存在有些奇怪。

在加載圖像的地方可能已經存在此iPhotoViewController的實例了嗎? 如果是這樣,則需要檢查該實例。

但是也許您正在測試事物並在筆尖中設置了圖像,只是想確保它可以工作。 在這種情況下,未設置photo.mainView.image的原因是因為您僅創建了視圖控制器,但尚未從筆尖加載和設置視圖。 要偽造此內容,您需要在檢查圖像是否設置之前訪問控制器的view屬性。

iPhotoViewController *photo = [[iPhotoViewController alloc] initWithNibName:@"iPhotoViewController" bundle:nil] ;

[photo view];
if (photo.mainView.image) {
// continue as before

您是否同時定義了

@property(nonatomic, retain) UIImage * image;  // (or UIImageView *)

在您的.h和

@synthesize image;

在您的.m中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM