2012-02-22 44 views
1

我有CustomImage UIButtons作爲我的UIBarButtonItems。這位圖形設計師製作圖像的方式,使它們彼此接觸,彼此之間沒有10px左右的差距。有沒有辦法在將它們添加到UIToolBar時刪除UIBarButtonItem之間的差距?更改UIBarButton項目之間的空間爲零?

謝謝

回答

1

所以擺弄,我能夠得到的東西工作。雖然我不是100%確定,但我明白爲什麼。如果我傳入寬度很大的圖像(大於15 + px),它可以正常工作,如果我放入寬度爲1px的圖像,則無法使其工作。我正在尋找的是這樣的:

<image> | <Image> | <image> | <flex space>  | <image> | <Image> | <image> 

雖然我不希望創建與他們|的形象,所以我有一個形象地說,就是在|分離。當添加那個Button時,我無法弄清它們之間的差距。我擺弄框架和插圖值無濟於事。

這是我爲更廣泛的按鈕:

-(id)initWithTitle:(NSString *)title normalImage:(UIImage *)normalImage highlightedImage:(UIImage *)highlightedImage selectedImage:(UIImage *)selectedImage target:(id)target action:(SEL)action { 

button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setImage:normalImage forState:UIControlStateNormal]; 
[button setImage:highlightedImage forState:UIControlStateHighlighted]; 
[button setImage:selectedImage forState:UIControlStateSelected]; 
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside]; 
[button setFrame:CGRectMake(0, 0, 74, 48)]; 

// This is the code that seemed to make it work 
// Though not 100% sure why 
// - - - - - 
UIEdgeInsets buttonInset = UIEdgeInsetsMake(0, -5, 0, -5); 
button.contentEdgeInsets = buttonInset; 
[button sizeToFit]; 
button.autoresizingMask = UIViewAutoresizingNone; 
// - - - - - 

buttonLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 30, 74, 17)]; 
buttonLabel.opaque = NO; 
buttonLabel.backgroundColor = [UIColor clearColor]; 
buttonLabel.font = [UIFont systemFontOfSize:12.0f]; 
buttonLabel.text = title; 
buttonLabel.textAlignment = UITextAlignmentCenter; 
[button addSubview:buttonLabel]; 
[buttonLabel release]; 

    // create a UI 
self = [super initWithCustomView:button]; 
[self setStyle:UIBarButtonItemStyleBordered]; 

return self; 

} 
相關問題