好一個的UIImageView的財產,這裏的情況: 我有...顯示從另一個類編程
- 與
UIImageView
- 屬性自定義類,我們把它叫做Enemy
-class - 一個
ViewController
- 一個
NSMutableArray
,以幫助創造的多個實例Enemy
(稱爲enemies
)
什麼,我想:
- 能夠通過一種方法,我
ViewController
(如[self spawnEnemy];
,其中self
是ViewController
) - ,隨後顯示
UIImageView
創建Enemy
-instances無限量財產(姑且稱之爲「enemyImage
」)在由我ViewController
我已經試過像這樣控制的view
:
-(Enemy *) spawnEnemy
{
Enemy *tempEnemy = [Enemy new];
[enemies addObject:(Enemy*)tempEnemy];
[self.view addSubview:(UIImageView*)[[enemies objectAtIndex:[enemies count]] enemyImage]];
//randomLocation is declared in the Enemy-Class and just assigns a random
//CGPoint to self.enemyImage.center
[[enemies objectAtIndex:[enemies count]] randomLocation];
return [[enemies objectAtIndex:[enemies count]]createEnemy];
}
這將運行沒有錯誤,randomLocation
被調用(試圖與NSLog的),如果我做這樣的事情在ViewController
另一種方法:
[[self spawnEnemy] enemyTestMethod];
正在執行enemyTestMethod爲好。
但仍然沒有enemieView
s在屏幕上顯示... 我在做什麼錯了?
非常感謝您的幫助和時間。
==== ====編輯
下面是從Enemy.h/Enemy.m相關代碼:
@interface Enemy : NSObject
{
UIImageView *enemyImage;
}
@property (nonatomic, retain) IBOutlet UIImageView *enemyImage;
-(Enemy*) createEnemy;
//Enemy.m
@implementation Enemy
@synthesize enemyImage, speed;
-(Enemy *) createEnemy
{
self.enemyImage = [[UIImageView alloc] init];
[self.enemyImage setImage:[UIImage imageNamed:@"enemy.png"]];
return self;
}
我也糾正了最後一行在spawnEnemy
- 方法正確發送createEnemy。
這實際上可能是問題。我相應地編輯了OP。 – Carnivorous
YEP的確如此:D在'createEnemy'方法中調用'[self.enemyImage setFrame:CGRect]'之後,它就起作用了。謝謝! – Carnivorous