1

UIButton と UIImageView があります。UIButton と UIImageView は、ストーリーボードの異なるビューにあります。私がしたいのは、ボタンが押されたときにビューが切り替わり、UIImageView が別の画像に切り替わることです。現在、ビューは変更されていますが、UIImageView は変更されていません。

ここにViewController.hファイルがあります

#import <UIKit/UIKit.h>
#import "Player.h"
#import "Space.h"

@interface ViewController : UIViewController
{
    IBOutlet UIImageView* space0_0;
    Player* m_player;
    Space* m_spaces[16][16];
}
-(IBAction)startGame;


@end

スペースの配列がある理由は、最終的には 16x16 の UIImageViews ボードが必要だからです。現在、先に進む前に最初の画像ビューを機能させるためだけに、1 つの画像ビューしかありません。

これは、UIImageView を変更することになっているボタンに接続された IBAction です。

-(IBAction)startGame
{
    [m_spaces[0][0] setImageView:space0_0];
    [m_spaces[0][0] displaySpace];
}

Spaceというクラスを作りました。ここに Space.h ファイルがあります

#import <Foundation/Foundation.h>

@interface Space : NSObject
{
    UIImageView* m_imageView;
}

-(void)setImageView:(UIImageView*)imageView;
-(UIImageView*)imageView;
-(void)displaySpace;
@end

ここに Space.m ファイルがあります

#import "Space.h"

@implementation Space

-(void)setImageView:(UIImageView*)imageView
{
    m_imageView = imageView;
}

-(UIImageView*)imageView
{
    return m_imageView;
}
-(void)displaySpace
{
    m_imageView.image = [UIImage imageNamed:@"player.png"];
}

@end

ここでどこが間違っているのか誰か教えてもらえますか? 唯一の問題は、UIImageView のイメージが変更されないことです。

編集: startGame メソッドを次のように変更すると:

-(IBAction)startGame;
{
space0_0.image = [UIImage imageNamed:@"player.png"];
}

だから問題は私のスペースクラスのどこかにあります.

4

0 に答える 0