SpokaneDude
SpokaneDude

Reputation: 4974

How can I place a small image in my UIView

I want to place a series of images in a UIView... I want to be able to change each image's color using three different .png files (red,yellow,green) as a status indicator. Other than actually drawing the rectangle and filling it, is there an easier way?

Research effort: I have Googled and looked through SO and found nothing dealing with this.

Upvotes: 0

Views: 101

Answers (2)

SpokaneDude
SpokaneDude

Reputation: 4974

I figured it out... I took a UIButton, changed the Type to "Custom", sized it (32 x 32) and programmatically changed the the image depending on circumstances.

  • [button setImage:<#(UIImage *)#> forState:<#(UIControlState)#>]

Thanks to both of you for getting the thought process running... :D

Upvotes: 0

ddoor
ddoor

Reputation: 5963

There are lots of ways you can do this. I think the easiest way would be to pragmatically add UIViews as subviews to your main view, or to your parent UIView.

You can set the frame of your views as well as the background color. See this link

adding uiview as a subview to the main view

You can also use images, but since it is a plain solid color, its a lot of extra storage space, etc. to use images when you can programatically render a color.

If it is a series of rectangles, you can store UIViews in some kind of data structure so it is easier to dynamically change the color at runtime. If you aren't moving them around, then init there frames/geometry so they are in the correct location, then access them as members of an array or something similar.

If you want to add gradients to images, this is the best thing I have found:

Gradients on UIView and UILabels On iPhone

Upvotes: 1

Related Questions