我在名为SegmentedAnswer的视图中有一个UISegmentedControl,它有四个段。 有没有办法通过编程来改变段的数量? 非常感谢!UISegmentedControl以编程方式更改段的数量
回答
是的,你可以使用
removeSegmentAtIndex:(NSUInteger) animated:(BOOL)
而且
insertSegmentWithTitle:(NSString *) atIndex:(NSUInteger) animated:(BOOL)
完全取代段,你可以使用下面的功能:
- (void)setSegments:(NSArray *)segments
{
[segmentController removeAllSegments];
for (NSString *segment in segments) {
[segmentController insertSegmentWithTitle:segment atIndex:segmentController.numberOfSegments animated:NO];
}
}
希望这有助于。
这非常适合放入UISegmentedControl类别。谢谢! – DonnaLea 2014-05-12 19:35:14
您可以使用[segmentController removeAllSegments]而不是while循环。请参阅https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISegmentedControl_Class/#//apple_ref/occ/instm/UISegmentedControl/removeAllSegments上的文档 – MCR 2015-05-27 16:29:07
要进行仔细检查,它可用于7.X和8.X是吗? – Zorayr 2015-05-27 17:21:39
为了完整的缘故(因为我在这里结束了寻找如何实现在厦门国际银行同样的事情)这里是如何做到这一点在厦门国际银行:
而且这里有一个小雨燕扩展使用新值
extension UISegmentedControl {
func replaceSegments(segments: Array<String>) {
self.removeAllSegments()
for segment in segments {
self.insertSegmentWithTitle(segment, atIndex: self.numberOfSegments, animated: false)
}
}
}
对我工作的阵列取代现有的segmentedControl,UIsegmentedControll包含两个部分,我想迅速使用2.2添加一个索引2,使用此代码:
SEG_TipoFiltro.insertSegmentWithTitle("Title", atIndex: 2, animated: false)
这是一个用字符串序列替换段的Swift扩展。它类似于这里给出another answer,除了它可以与任何顺序使用,这意味着你还可以传递片,套等
extension UISegmentedControl {
/// Replace the current segments with new ones using a given sequence of string.
/// - parameter withTitles: The titles for the new segments.
public func replaceSegments<T: Sequence>(withTitles: T) where T.Iterator.Element == String {
removeAllSegments()
for title in withTitles {
insertSegment(withTitle: title, at: numberOfSegments, animated: false)
}
}
}
你可以添加一个链接到你指的另一个答案吗?你可以通过点击它下面的“分享”链接来获得答案。 – 2017-04-06 19:17:16
那里。现在加入。谢谢你的提示。 – 2017-04-06 20:14:13
- 1. UISegmentedControl以编程方式从工具栏中更改值点击
- 2. 以编程方式更改Mac音量
- 3. UISegmentedControl以编程方式重置
- 4. 以编程方式使用UISegmentedControl文本
- 5. 以编程方式更改标签方向,编程方式
- 6. 更改R.String的值以编程方式
- 7. 以编程方式更改SCNScene的sceneNamed
- 8. 以编程方式更改R.string的值?
- 9. 以编程方式更改文本字段的文本
- 10. 以便携方式以编程方式更改shell的cwd
- 11. 以编程方式更改deployment.properties文件
- 12. 以编程方式更改TChart大小
- 13. xaml - 以编程方式更改StandardStyles
- 14. 以编程方式更改UIButton状态
- 15. 以编程方式更改WinXP语言
- 16. 以编程方式更改UIBarButtonItem状态
- 17. 以编程方式更改jquery ui datepicker
- 18. 以编程方式更改awesomewm主题
- 19. 以编程方式更改值
- 20. 以编程方式更改图像
- 21. 以编程方式更改XML文件?
- 22. 更改IE设置以编程方式
- 23. 以编程方式更改RatingBar大小?
- 24. Dropzonejs:以编程方式更改maxFiles
- 25. iOS以编程方式更改SMSC
- 26. 以编程方式更改语言
- 27. 以编程方式更改NSSlider值
- 28. Fabric,Python - 以编程方式更改env
- 29. Android以编程方式更改drawableRight
- 30. 钛 - 以编程方式更改语言
我解决了: [self.SegmentAnswer insertSegmentWithTitle:@“5” atIndex: 4动画:是]; [self.SegmentAnswer insertSegmentWithTitle:@“6”atIndex:5 – Beppino66 2012-07-24 20:54:53