我在名爲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. UISegmentedControl以編程方式從工具欄中更改值點擊
- 3. 如何以編程方式顯示UISegmentedControl?
- 4. UISegmentedControl以編程方式重置
- 5. 以編程方式使用UISegmentedControl文本
- 6. 以編程方式更改標籤方向,編程方式
- 7. mgwt - 以編程方式更改方向
- 8. 更改R.String的值以編程方式
- 9. 以編程方式更改kendomultiselect的tagMode
- 10. 以編程方式更改storyBoard的rootViewController
- 11. 以編程方式更改SCNScene的sceneNamed
- 12. 以編程方式更改R.string的值?
- 13. 以編程方式更改文本字段的文本
- 14. 以便攜方式以編程方式更改shell的cwd
- 15. 以編程方式更改ImageResource(繪製)
- 16. 以編程方式更改膚色
- 17. xaml - 以編程方式更改StandardStyles
- 18. 如何以編程方式更改card_view:cardCornerRadius
- 19. 以編程方式更改deployment.properties文件
- 20. 以編程方式更改web.config
- 21. WHMCS,以編程方式更改語言
- 22. 如何以編程方式更改android:configChanges?
- 23. 以編程方式更改NERDTreeWinSize
- 24. 以編程方式更改頁邊距
- 25. 以編程方式更改PDF作者
- 26. 如何以編程方式更改UIView?
- 27. 更改IE設置以編程方式
- 28. 以編程方式更改colorControlActivated顏色
- 29. 以編程方式更改屬性值
- 30. 以編程方式更改ActionBar圖標
我解決了: [self.SegmentAnswer insertSegmentWithTitle:@「5」 atIndex: 4動畫:是]; [self.SegmentAnswer insertSegmentWithTitle:@「6」atIndex:5 – Beppino66 2012-07-24 20:54:53