在这张照片(AirBnB iOS应用程序)中,它说的是Upcoming和Previous,你们怎么看待这是如何实现的?你们是否认为这是使用分段控制或两个不同的按钮相互反转(开/关,关/开)开发的? 是否有一种简单的方法(最好使用Swift)或库在应用程序中实现此功能? 对不起,如果这是一个非常天真的问题。这是我第三天学习iOS开发:面对喜悦之泪:
答案 0 :(得分:1)
是的,它可能是一个分段控件。您可以使用以下内容:
UIImage *segmentSelected =
[[UIImage imageNamed:@"segcontrol_sel.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
UIImage *segmentUnselected =
[[UIImage imageNamed:@"segcontrol_uns.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
UIImage *segmentSelectedUnselected =
[UIImage imageNamed:@"segcontrol_sel-uns.png"];
UIImage *segUnselectedSelected =
[UIImage imageNamed:@"segcontrol_uns-sel.png"];
UIImage *segmentUnselectedUnselected =
[UIImage imageNamed:@"segcontrol_uns-uns.png"];
[[UISegmentedControl appearance] setBackgroundImage:segmentUnselected
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setBackgroundImage:segmentSelected
forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:segmentUnselectedUnselected
forLeftSegmentState:UIControlStateNormal
rightSegmentState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected
forLeftSegmentState:UIControlStateSelected
rightSegmentState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance]
setDividerImage:segUnselectedSelected
forLeftSegmentState:UIControlStateNormal
rightSegmentState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
引自RayWenderlich: http://www.raywenderlich.com/21703/user-interface-customization-in-ios-6
答案 1 :(得分:0)
由于我们没有源代码,因此没有正确答案。
然而,这可能是其中一个主张:
UISegmentedControl
并自定义其外观; UIButton
并根据当前选择的那个更改外观; IBDesignable
(您可以在构建界面时直接看到它)。由于您正在第3天学习iOS开发,您可能想看看上面提到的所有命题。
IBDesignable
解决方案可能更好。实际上,如果你正确地构建它,你将能够在不同的屏幕尺寸和多个应用程序中轻松地重复使用它。但是,首先创建它可能并不容易。