开发者

How to make image insets for image within UISegmentedControl?

I have UISegmented control with image -to be able to set background tint. This is added to navigation bar through code in viewDidLoad:

UISegmentedControl *myCustomButton = [[UISegmentedControl alloc] initWithItems:
                    [NSArray arrayWithObjects:[UIImage imageNamed:@"spiral"],nil]];

[myCustomButton setSegmentedControlStyle:UISeg开发者_高级运维mentedControlStyleBar];
[myCustomButton setTintColor:[UIColor blackColor]];

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc]
                                    initWithCustomView:myCustomButton];
self.navigationItem.rightBarButtonItem = segmentBarItem;

problem is that the image within the button gets stretched all the way it can, so I would like to use image insets, but how do I call them for that code?

I've tried this:

[self.navigationItem.rightBarButtonItem setImageInsets:UIEdgeInsetsMake(5, 5, 5, 5)];

but it does not do anything visible.


I'm not sure there's an easy programmatic way to do this. What I've done is just make png images with transparent backgrounds in photoshop (or whatever image editor) and make them fit so that your image fits vertically in the button and has a size that will fit just about right in your button. It's a bit of work to make the images, but usually you're not going to be changing your button size once you have the screen layout set up.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜