4

I'm trying to make a UIImageView with a .png load up in the location of a button when it is clicked.

brickAnim = UIImageView.alloc;           ///////freezes during runtime
[brickAnim initWithFrame:currentBrick.frame];
[brickAnim setImage:[NSString stringWithFormat:@"brick-1.png"]];
[self.view addSubview:brickAnim];

current brick is the name of the button that's being clicked. I've narrowed it down and figured out that the first line causes the app to freeze and exit. I can't figure out what I'm doing wrong.

2 Answers 2

13

try

brickAnim = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"brick-1.png"]];
brickAnim.frame = currentBrick.frame;
[self.view addSubview:brickAnim];

edit after seeing response to other answer:

are you declaring and initializing brickAnim elsewhere? if not, you need to add at the beginning:

UIImageView *brickAnim = [[UIImageView alloc] ....;

and at the end:

[brickAnim release];
Sign up to request clarification or add additional context in comments.

Comments

8

You need to create a UIImage first, since setImage wants an UIImage object. Something like this may work (note that this is a class method):

[brickAnim setImage:[UIImage imageNamed:@"brick-1.png"]];

Look at the UIImage reference, i'm not sure this will work (since imageNamed may want a different path-format).

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.