我正在做一個Ipad應用程序。現在我有2個viewcontroller,ViewController有一個button1,它有一個popover到第二個viewcontroller(PopoverController)。然後,PopoverController有一個button2,如果我點擊button2,我會從我的服務器收到一些UIImage。我想添加幾個UIImageView的子視圖到ViewController來顯示這些圖像,如果我點擊button2。如何將子視圖添加到其他視圖控制器?
button1工作正常,PopoverController可以按預期彈出。但是當我點擊button2時,什麼都沒有發生。我想知道如何在兩個視圖控制器之間傳遞數據以及如何將子視圖添加到另一個視圖控制器。
關於我的問題的一些代碼:
ViewController.h:
#import <UIKit/UIKit.h>
@class PopoverController;
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *button1;
@property (strong, nonatomic) PopoverController *popoverController;
@end
PopoverController.h:
#import <UIKit/UIKit.h>
@class ViewController;
@interface PopoverController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *button2;
@property (strong, nonatomic) UIImage *tempImg;
@property (strong, nonatomic) ViewController *viewController;
- (IBAction)addsubviews:(id)sender;
@end
我不能只使用[viewController.view addSubview:img1];
在- (IBAction)addsubviews:(id)sender;
方法addsubview。所以有人可以幫助我? :)
==== 1日更新====
有人建議我必須使用- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
方法。我已經通過控制點擊了button2並在button2和ViewController之間創建了一個自定義的segue。當我點擊button2時,它顯示: Terminating app due to uncaught exception 'NSGenericException', reason: 'Could not find a navigation controller for segue 'change'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
所以我想知道我是否應該添加一個NavigationController
。如果是這樣,我該怎麼辦?
====月2日更新====
我用Paramasivan的代碼,現在,我發現從另一個視圖控制器調用方法的方式。現在的問題是我的viewcontroller中新添加的子視圖沒有顯示出來。我想我必須更新我的viewcontroller才能看到它。
在我- (IBAction)addsubviews:(id)sender;
方法,我通過[self.viewController createSubViewWithImage:_tempImg];
因此該方法可以當我點擊按鈕2調用調用在視圖控制器的方法,但是視圖控制器的觀點已經沒有什麼改變。
你的問題到底是什麼? 「我不能只用[..]」 - 爲什麼? – jimpic
當您使用該行時,您遇到了什麼問題? – iDev
@jimpic對不起,我的意思是這行代碼可以編譯,但沒有做我期望的 – Manted