Как настроить панель инструментов UIToolbar с кнопками, которые содержат цветные изображения? - PullRequest
4 голосов
/ 12 января 2011

У меня есть два вопроса об UIToolbar:

1: я прочитал множество ответов Stackoverflow о том, как использовать кнопки с пользовательскими (цветными) изображениями на панели UIToolbar. Я попытался поместить представление (взломать) поверх UIToolbar и поместить кнопки с изображениями в нем, но не получилось. Прямо сейчас я застрял. Как вы можете сделать это?

2: Есть ли способ, чтобы несколько кнопок были одновременно нажаты? Функция, которую я хочу выполнить - это разные кнопки с разными видами сортировки.

Ответы [ 2 ]

8 голосов
/ 12 января 2011

Хорошо, ответ решил сам ... вот он:

Могу ли я иметь UIBarButtonItem с цветным изображением?

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated]; 
    toolbar = [[UIToolbar alloc] init];
    toolbar.barStyle = UIBarStyleDefault;

    //Set the toolbar to fit the width of the app.
    [toolbar sizeToFit];

    //Calculate the height of the toolbar
    CGFloat toolbarHeight = [toolbar frame].size.height;

    //Get the bounds of the parent view
    CGRect rootViewBounds = self.parentViewController.view.bounds;

    //Get the height of the parent view.
    CGFloat rootViewHeight = CGRectGetHeight(rootViewBounds);

    //Get the width of the parent view,
    CGFloat rootViewWidth = CGRectGetWidth(rootViewBounds);

    //Create a rectangle for the toolbar
    CGRect rectArea = CGRectMake(0, rootViewHeight - toolbarHeight, rootViewWidth, toolbarHeight);

    //Reposition and resize the receiver
    [toolbar setFrame:rectArea];

    //Create a button
    UIImage *image = [UIImage imageNamed:@"colorImage.png"];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.bounds = CGRectMake( 0, 0, image.size.width, image.size.height );    
    [button setImage:image forState:UIControlStateNormal];
    [button addTarget:self action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];    
    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

    [toolbar setItems:[NSArray arrayWithObjects:barButtonItem,nil]];

    //Add the toolbar as a subview to the navigation controller.
    [self.navigationController.view addSubview:toolbar];
}

-(void)myAction{
    NSLog(@"jippiii");
}
3 голосов
/ 12 января 2011

Я знаю ответ вашего второго требования.

в ИБ нажмите на вид, а в инспекторе отметьте включение нескольких касаний.

Приветствия

...