ios - iOS 中跨不同 Size 类别的 Segment Bar

标签 ios iphone ipad uisegmentedcontrol size-classes

我正在使用 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/

相关文章:

iphone - 如何将 'title' 添加到 UIBarButtonItem

iphone - iOS - 尝试了解电影是如何运作的

ios - 如何从存储在 sqlite 中的 NSData 中检索字符串?

iphone - 将 View Controller 单独转换为 ARC 的效果如何?

ios - UIWebView 以低质量的放大状态呈现网页

ios - 如何检查 String 对象是否为链接?

android - Iphone UDID 和 Android ID

ios - 如何添加学分以观看 admob interstitial adds ios

ios - 删除 UITableView 行时删除通知(Swift)

ios - Swift - 当出现清除按钮时禁用文本移动