2011-08-04 2 views
1

Не уверен, что я делаю неправильно. У меня нет нип, поэтому я делаю все в loadView. Появляется панель инструментов, но segmentedControl этого не делает.Элемент панели инструментов, не отображающий

- (void)loadView 
{ 
    // Toolbar 
    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 90)]; 
    [toolbar setTintColor:[UIColor lightGrayColor]]; 

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(10, 10, 200, 30)]; 
    [segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar]; 

    UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithCustomView:segmentedControl] autorelease]; 

    NSArray *toolbarItems = [NSArray arrayWithObjects:item, nil]; 

    [toolbar setItems:toolbarItems animated:NO]; 
    [self.view addSubview:toolbar]; 
} 

ответ

1

Написать ниже код вместо кода ...... поможет вам добавить контроль сегмента на панель инструментов ...

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 90)]; 
[toolbar setTintColor:[UIColor lightGrayColor]]; 

CGRect frame; 

frame.origin.x = 10; 
frame.origin.y = 10; 
frame.size.width = 200; 
frame.size.height = 30; 

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Hello",@"Hi", nil]]; 

[segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar]; 

segmentedControl.tintColor = [UIColor blackColor]; 

segmentedControl.frame = frame; 

[toolbar addSubview:segmentedControl]; 

[self.view addSubview:toolbar]; 

Thanx ....

+0

Спасибо. Это сработало! Я думал, вам нужно использовать setItems: анимированные на панели инструментов. В чем смысл setItems: анимированный, так как этот код не использует его? – tazboy

0

Вы должны добавить его в качестве subview в представлении, как вы сделали с панели инструментов. То есть:

[self.view addSubview:segmentedControl];

Он должен работать.

Приветствия

Смежные вопросы