How to add barbutton programmatically with image

后端 未结 4 442
温柔的废话
温柔的废话 2021-01-24 11:47

I am creating a barbutton programmatically. But it can\'t fix into screen. Help me in solve this problem.

Screenshot:

相关标签:
4条回答
  • 2021-01-24 12:31
    UIImage *image = [UIImage imageNamed:@"request.png"];    
    UIButton* requestButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [requestButton setImage:image forState:UIControlStateNormal];
    [requestButton addTarget:self action:@selector(requestButton) forControlEvents:UIControlEventTouchUpInside];
    
    UIBarButtonItem *button2 = [[UIBarButtonItem alloc] initWithCustomView:requestButton];
    self.navigationItem.rightBarButtonItem = button2;
    
    0 讨论(0)
  • 2021-01-24 12:31
    UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
    
    [myButton setImage:[UIImage imageNamed:@"request-1.png"] forState:UIControlStateNormal];
    
    myButton.frame = CGRectMake(0, 0, 80, 36);
    
    [myButton addTarget:self action:@selector(requestButton) forControlEvents:UIControlEventTouchUpInside];
    
    UIBarButtonItem * aBarButton = [[[UIBarButtonItem alloc] initWithCustomView:myButton] autorelease];
    
    
    self.navigationItem.rightBarButtonItem = aBarButton;
    
    
    
    [myButton release];
    
    0 讨论(0)
  • 2021-01-24 12:38

    I do this normally this way:

    self.myButton = [UIButton buttonWithType:UIButtonTypeCustom];
    
    [myButton setImage:[UIImage imageNamed:@"button_normal.png"] forState:UIControlStateNormal];
    [myButton setImage:[UIImage imageNamed:@"button_pressed.png"] forState:UIControlStateHighlighted];
    myButton.frame = CGRectMake(0, 0, 121, 36);
    
    [myButton addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchUpInside];
    
    UIBarButtonItem * aBarButton = [[[UIBarButtonItem alloc] initWithCustomView:myButton] autorelease];
    
    [toolbar setItems:[NSArray arrayWithObjects:aBarButton, nil]];
    
    0 讨论(0)
  • 2021-01-24 12:41

    I usually create the UIImageView, then a UITapGestureRecognizer and i add it to the UIImageView, and finally i create the UIBarbuttonItem:

        //UIImageView where the image is shown
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageName"]];
        imageViewSettings.frame = CGRectMake(0, 0, 25, 25);
        imageViewSettings.contentMode = UIViewContentModeScaleAspectFit;
    
        //TapGesture
        UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(methodToTrigger)];
    
        //Adding the gesture to the ImageView
        [imageView addGestureRecognizer:tapGesture];
    
        //Creating the barButtonItem
        UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:imageView];
    
        //Finally add the button to the navigationBar
        self.navigationItem.rightBarButtonItem = barButtonItem;
    
    0 讨论(0)
提交回复
热议问题