如何在iPhone中将图像设置为UISegmentedControl?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在iPhone中将图像设置为UISegmentedControl?相关的知识,希望对你有一定的参考价值。

我是iPhone开发的新手。我创建了UISegmentedControl有2个段。我想显示每个段而不是标题的图像。这是我的代码

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]; 

但是不应该显示标题,segment1和segment2,而应该用我拥有的图像替换它。

答案

它几乎就是你所拥有的,只是传递一组UIImages而不是NSStrings。

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

如果要在运行时更改图像,请使用以下方法:

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

e.f.:

[segmentedControl setImage:[UIImage imageNamed:@"segment1.png"] forSegmentAtIndex:0];
另一答案

使用Interface Builder(Attributes Inspector选项卡)执行此操作非常简单。

您还可以使用图像设置一个片段,使用文本设置另一个片段。

快乐的xCoding! )

另一答案

对于界面构建器用户,将“渲染为”设置为“原始图像”而不是默认值。在我的情况下,它将在运行后显示。它可能会奏效。 @jcpennypincher enter image description here

另一答案

在xcode 4.6.3中,界面构建器中有一个选项可以将图像添加到段控件中。

以上是关于如何在iPhone中将图像设置为UISegmentedControl?的主要内容,如果未能解决你的问题,请参考以下文章

在 iphone sdk 中将固定大小的圆形按钮设置为图像

如何在 iOS 中将全屏大小的图像设置为启动屏幕?

如何在 iOS 中将图像裁剪为多边形?

iPhone,如何在代码中将日期选择器的最小日期设置为今天?

iPhone:如何在应用程序目录中将图像写入磁盘

如何以编程方式在 iphone 中将音乐文件设置为通话音和消息音