【问题标题】:Change UIImageView from anotherVIewControllers从另一个VIewControllers 更改UIImageView
【发布时间】:2012-01-06 20:23:23
【问题描述】:

我正在尝试从其他视图控制器更改UIImageView,但我不知道为什么图像没有改变!这是我的代码:

#import "ViewController.h"

@class ViewController;
@interface CoverGallery : UIViewController {

    ViewController *mainViewController;
}
@property (nonatomic,retain) ViewController *mainViewController;
- (IBAction)img1;

.m

- (IBAction)img1 {

    mainViewController.coverArt.image = [UIImage imageNamed:@"coverDefault.png"];
    [self dismissModalViewControllerAnimated:YES];

}

在 MainViewController 中有一个名为 coverArtUIImageView,谢谢

这是我在视图之间切换的按钮操作:

ViewController(我的第一个视图) .h

@interface ViewController : UIViewController {
ViewController *mainViewController;

}

@property (nonatomic, retain) ViewController *mainViewController;


.m :

@synthesize mainViewController;


- (void) CoverGallery {

    CoverGallery *gallery = [[CoverGallery alloc] initWithNibName:@"CoverGallery" bundle:nil];
    gallery.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    [self presentModalViewController:gallery animated:YES];

//here is the problem, compiler gives me the mainViewController is not the property of CoverGallery
gallery. mainViewController = self;
    [gallery release];

}

【问题讨论】:

  • 你检查过[UIImage imageNamed:@"coverDefault.png"]是否真的返回了一个有效的图像?
  • 你在哪里设置你的mainViewController
  • 是的,设置为:[gallery.mainViewController = self];在展示画廊视图之前。

标签: iphone ios xcode ipad sdk


【解决方案1】:

你是如何初始化属性 mainViewController 的?您需要在呈现模态视图时通过设置其属性将其设置为 MainViewController。 我想象你在 MasterViewController 中这样做:

  CoverGallery *gallery = [[CoverGallery alloc]initWithNibName:@"CoverGallery" bundle:nil];
    gallery.masterViewContrller = self; //Set it here
    [self presentModalViewController:gallery animated:YES];

我修正了一个错字.. 还有这个:

ViewController *mainViewController;

应该是:

MainViewController *mainViewController;

但是需要在同一个头文件中导入。

【讨论】:

  • 第一个 ViewController 叫什么名字?是否命名为 ViewController?我认为您的第一个 viewController 被命名为 MasterViewController,它是呈现模态视图的那个。
  • 你做了@property (nonatomic, retain) Viewcontroller *mainViewController;在你的标题?并确保在 .m. 中合成 mainViewController。
  • 应该是gallery.masterViewController = self.不是 gallery.viewController = self.
  • 问题解决了!!这是因为我的函数名称和我的班级是一样的!!!我改变它并解决了:D 谢谢亲爱的 Hurbet
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多