0

我的项目基本上是一个性能车应用程序,arc4rand()用于确定接下来会出现哪辆车。我做了一张图片来解释我需要它做什么。

我的 .h 代码

 @interface BMW : UIViewController {

  IBOutlet UIImageView *view;

  IBOutlet UILabel *label;

}

-(IBAction)random;

@end

我的 .m 代码

-(IBAction)random {
   int image = arc4random() % 1;
   switch (image) {
   case 0:
       block.image = [UIImage imageNamed:@"m3.jpg"];
       label.text = @"BMW m3" ;
       break;

   default:
       break;
  }

我怎样才能让标签和图片延续到第二个视图?我正在使用 Xcode 4.2.1 和故事板

4

1 回答 1

1

一种可能性:在第二个视图控制器中制作标签和图片 ivars 并像这样设置它们newController.h

@interface newController : UIViewController 
@property (strong, nonatomic) NSString *labelText;
@property (strong, nonatomic) UILabel *label;
@property (strong, nonatomic) UIImage *image;
@end

newController.m

@implementation newController 
@synthesize labelText, image, label;

- (void)viewWillAppear
{
   label.text = labelText;
}
@end

在 IB/Xcode 中将 segue 的标识符设置为pushNewViewController并在您的代码中添加 prepareForSegue:

#import "NewController.h"
...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"pushNewController"]) {
        [segue.destinationViewController setLabelText:label.text];
        [segue.destinationViewController setImage:block.image];
    }
}

如果您想了解更多关于UIViewControllers故事板的信息,我建议您查看当前的斯坦福 CS 193P课程,该课程完全适用于 iOS 5

于 2011-12-29T08:08:51.973 回答