iOS 中的分段条跨越不同大小 类
Segment Bar in iOS accross different Size classes
我正在使用 UISegmentController
(默认由 iOS 提供)。我想显示 iPad 或 iPhone 横向视图的文本。在 iPhone 的情况下,我想在同一个分段栏中显示图标(而不是文本)。
可能吗?如果是,那么 我怎样才能在情节提要中或以编程方式实现这一点?
似乎不可能完全单独使用故事板来完成这种功能,但是在 viewDidLoad 中组合 this and this 可能会得到你想要的
您可以通过以编程方式添加 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];
我正在使用 UISegmentController
(默认由 iOS 提供)。我想显示 iPad 或 iPhone 横向视图的文本。在 iPhone 的情况下,我想在同一个分段栏中显示图标(而不是文本)。
可能吗?如果是,那么 我怎样才能在情节提要中或以编程方式实现这一点?
似乎不可能完全单独使用故事板来完成这种功能,但是在 viewDidLoad 中组合 this and this 可能会得到你想要的
您可以通过以编程方式添加 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];