开发者

How to set image to the UISegmentedControl in iPhone?

I am new to iPhone development. I have created UISegmentedControl having 2 segments. I want to display images for each segment instead of title. Here is my cod开发者_JAVA技巧e

NSArray *itemArray = [NSArray arrayWithObjects: @"segment1", @"segment2", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentedControl.frame = CGRectMake(5,100,300,40);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.selectedSegmentIndex = 1;
[self.view addSubview:segmentedControl];
[segmentedControl release]; 

But instead of displaying the title ,segment1 and segment2 it should be replaced with the images I have.


It is almost exactly what you had, just pass an array of UIImages instead of NSStrings.

NSArray *itemArray = [NSArray arrayWithObjects:
    [UIImage imageNamed:@"segment1.png"],
    [UIImage imageNamed:@"segment2.png"],
    nil];


If you want to change the image during runtime, use the following method:

- (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment

e.g.:

[segmentedControl setImage:[UIImage imageNamed:@"segment1.png"] forSegmentAtIndex:0];


It's simple to do it with Interface Builder (Attributes Inspector tab).

How to set image to the UISegmentedControl in iPhone?

Also you can set one segment with image and the other one with text.

How to set image to the UISegmentedControl in iPhone?

Happy xCoding! )


For interface builder user, set "render as" as "original image" rather than default. In my case, it will show after running. It may work. @jcpennypincher

How to set image to the UISegmentedControl in iPhone?


In xcode 4.6.3 there is an option in interface builder to add an image to the segment controls.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜