我正在使用 UISegmentController
(iOS 默认提供)。我想在 iPad 或 iPhone 横向 View 中显示文本。在 iPhone 的情况下,我想在同一个分段栏中显示图标(而不是文本)。
是否可以?如果是,那么我怎样才能在 Storyboard 中或以编程方式实现这一点?
最佳答案
您可以通过以编程方式添加 UISegmentedControl
来实现此目的。
Controller 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;
}
根据设备类型,自定义分段控制。
对于已有的segment控件,当要设置image时,
[cntrl setImage:[UIImage imageNamed:@"Tick"] forSegmentAtIndex:0];
通过指定要在特定 segmentIndex 处设置的图像来使用上述方法。
同样,当你想在特定索引处设置文本时,使用
[cntrl setTitle:@"Hello" forSegmentAtIndex:0];
关于ios - iOS 中跨不同 Size 类别的 Segment Bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34805406/