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;
  }

ラベルと画像を2番目のビューに引き継ぐにはどうすればよいですか?Xcode4.2.1とストーリーボードを使用しています

4

1 に答える 1

1

1つの可能性:2番目のView Controllerでラベルと画像のivarを作成し、次のように設定します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 でセグエの識別子を設定し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];
    }
}

ストーリーボードについて詳しく知りたい場合は、iOS 5 で完全に動作する現在のスタンフォード CS 193PUIViewControllersコースを参照することをお勧めします。

于 2011-12-29T08:08:51.973 に答える