這就是我要做的:iOS的顯示圖像點擊
在點擊「信息(I)」按鈕,我需要顯示有一個酥料餅左邊的圖像和右邊的一些相關文字。
現在,讓我們在後臺將視圖稱爲「視圖1」,將彈出視圖視爲「視圖2」。
這裏是View2Controller.h的樣子:
@class View2Controller;
@protocol View2ControllerDelegate <NSObject>
- (void)infoPopover:(View2Controller *)obic loadImage: (NSString *)imageFilename;
@end
@interface View2Controller : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *imageInfo;
@property (strong, nonatomic) IBOutlet UILabel *textInfo;
@property (nonatomic, assign) id<View2ControllerDelegate> delegate;
@end
id <View2ControllerDelegate> _delegate;
現在View1Controller.h有這樣一行:
@interface View1Controller : UIViewController <View2ControllerDelegate>
而且View1Controller.m的@implementation頗像這
- (IBAction)showInfo:(id)sender {
UIButton *btn = (UIButton *)sender;
View2Controller *obic = [[View2Controller alloc]init];
[obic setDelegate:self];
switch (btn.tag) {
case 1:
[self infoPopover:obic loadImage:@"info1.png"];
break;
case 2:
//Info View 2
break;
case 3:
//Info View 3
break;
case 4:
//Info View 4
break;
case 5:
//Info View 5
break;
case 6:
//Info View 6
break;
default:
break;
}
}
and
- (void)infoPopover:(View2Controller *)obic loadImage:(NSString *)imageFilename
{
[obic.imageInfo setImage:[UIImage imageNamed:imageFilename]];
}
我查閱了幾個關於代表如何工作的教程。但是我仍然無法在'UIImageView imageinfo'上顯示圖像'info1.png'。任何意見都非常感謝!
你的問題可能是你如何用alloc init創建obic。這很可能會創建View2Controller的新實例,而不是訪問已有的實例。你需要解釋你的2個控制器是如何創建的,以及你的控制器的總體層次結構是什麼(它們是否在導航控制器,分割視圖等中)。 – rdelmar
一旦單擊'i'按鈕,我就會使用'popover'從View1Controller切換到View2Controller。 我剛剛意識到View1Controller(以及一些其他控制器)嵌入在導航控制器中,但View2Controller不是。應該將View2Controller嵌入到導航控制器中嗎? – hrshd