我正在使用UISegmentController
(默认由iOS提供)。我想显示iPad或iPhone横向视图的文字。在iPhone的情况下,我想在同一段栏中显示图标(而不是文本)。
可能吗?如果是,那么如何在故事板中或以编程方式实现这一目标?
答案 0 :(得分:1)
您可以通过以编程方式添加UISegmentedControl
来实现此目的。
控制器viewWillAppear
方法中的代码如下,
- (void)viewWillAppear:(BOOL)animated {
UISegmentedControl * cntrl = [[UISegmentedControl alloc] initWithItems:@[[UIImage imageNamed:@"Circle"],@"2"]];
cntrl.frame = CGRectMake(30, 100, 200, 50);
[self.view addSubview:cntrl];
}
使用上面的代码,我们创建了段控件,第一段中有一个图像,第二段中有文本。查看随附的屏幕截图。
使用以下代码检查设备是iPad还是iPhone
-(BOOL) isiPad {
return UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad;
}
根据设备类型,自定义分段控制。
对于现有的段控件,当您想要设置图像时,
[cntrl setImage:[UIImage imageNamed:@"Tick"] forSegmentAtIndex:0];
通过指定要在特定segmentIndex上设置的图像来使用上述方法。
当您想要在特定索引处设置文本时,请使用
[cntrl setTitle:@"Hello" forSegmentAtIndex:0];
答案 1 :(得分:0)