2014-04-18 30 views
-3

尝试设置UISegmentControl的选定侧,但没有任何反应。在UISegmentControl中设置选定的项目不起作用

在我的viewDidLoad或viewDidAppear这段代码不会选择一个段?

[self.segmentedControl setSelectedSegmentIndex:[@1 integerValue]]; 

什么都没有发生?

+3

有您登录self.segmentedControl,看它是否是零? – rdelmar

+5

顺便说一句 - 为什么不简单地通过'1'而不是'[@ 1 integerValue]'? – rmaddy

+0

如果它为零,请确保插座连接正确(假设您使用的是Storyboard或InterfaceBuilder)。 – Gazzini

回答

0

我从故事板中删除了UISegmentControl,并以编程方式添加它,它现在可用。很奇怪。

self.segControl.frame = CGRectMake(35, 100, 200, 50); 
self.segControl.segmentedControlStyle = UISegmentedControlStylePlain; 
self.segControl.selectedSegmentIndex = 1; 

[self.view addSubview:self.segControl]; 
0

您可以使用在UISegmentControl添加和设置选择制表符码

NSArray *itemArray = [NSArray arrayWithObjects: @"Top Twenty", @"Dow thirty", @"Favorite", nil]; 
    segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray]; 
    segmentedControl.frame = CGRectMake(15, 80, 300, 30); 
    segmentedControl.backgroundColor = [UIColor groupTableViewBackgroundColor]; 
    [segmentedControl addTarget:self action:@selector(MySegmentControlAction:) forControlEvents: UIControlEventValueChanged]; 
    segmentedControl.selectedSegmentIndex = 0; //**this line represent selected tab** 
    [self.view addSubview:segmentedControl]; 
相关问题