2011-03-24 48 views
1

我正在以編程方式創建一個barbutton。但它無法修復屏幕。幫助我解決這個問題。如何以編程方式添加barbutton與圖像

截圖:

enter image description here

UIImage *image = [UIImage imageNamed:@"request.png"]; 
UIBarButtonItem *button2; 

//[button2 setWidth:55]; 
button2= [[UIBarButtonItem alloc] initWithImage:image style:UIBarStyleDefault target:self action:@selector(requestButton)]; 

self.navigationItem.rightBarButtonItem = button2; 

[button2 release]; 
+0

你是什麼意思「修復屏幕」?屏幕頂部的 – 2011-03-24 13:05:24

+0

已經看到了註冊按鈕。在屏幕截圖中,我正在獲得空白。請引導我解決它。 – girish 2011-03-24 13:07:30

回答

3
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; 
4

我這樣做通常是這樣的:

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

我不能得到你可以ü請告訴我什麼是工具欄。 – girish 2011-03-24 13:10:12

+0

嗨尼克。感謝您的迴應。 – girish 2011-03-24 13:23:00

+0

對不起,UIToolbar幾乎與導航欄相同。您可以跳過最後一行並使用aBarButton並將其分配給您的導航欄。 – 2011-03-24 13:49:32

0
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

我通常創建的UIImageView,然後UITapGestureRecognizer和我添加它來UIImageView,最後我創建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; 
相關問題