2011-09-08 5 views
2

UIToolbar에는 크기 조정을위한 좋은 옵션이 있습니다 (self.navigationController.toolbar.frame) UIBarButtonItem의 높이를 변경하는 방법을 아는 사람이 있는지 궁금합니다.iOS - UIBarButtonItem 높이 변경

높이가 117 픽셀 인 사용자 지정 도구 모음이 있고 지금까지 도구 모음의 단추를 수정하는 방법을 찾지 못했습니다. 또한 표시된보기가 다른 애니메이션보기 (컷 장면 스타일)로 덮여 있기 때문에 도구 모음이 필요합니다. 첫 번째보기에서 자산을 설정하고 도구 모음을 모두 그 위에 유지해야합니다.

답변

9

저는 실제로이 문제에 착수했습니다. 단 한가지는 initWithCustomView를 활용하고 정의 된 프레임을 사용하여 UIButton을 전달하는 것입니다.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 

/* 
* Insert button styling 
*/ 

button.frame = CGRectMake(0, 0, width, height); 

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; 

그렇지 않으면 UIBarButtonItem에는 height 속성 만 설정할 수 있지만 불행히도 height 속성은 없습니다. initWithCustomView로 한 또 다른 멋진 일은 단추와 활동 표시기와 같은 다른 것들로 도구 모음을 전달하는 것입니다. 희망이 도움이됩니다.

4

원하는 프레임과 이미지, 대상 및 선택기 등을 사용하여 UIBarButtonIteminitWithCustomView: 메서드를 사용하고 UIButton을 customView로 사용하십시오.

+1

먼저 게시했지만 Octo의 답변이 더 완전했습니다. 나는 체크 표시를 나눌 수 있었으면 좋겠다. 그러나 나는 당신의 게시물을 통찰력이있는 것으로 생각하고 그들에게 그들이 받아야하는 업보를주었습니다. – Mytheral

0

메이크업이 간단한 3 단계

1 쓰기 속성 :

@property (nonatomic, strong) IBOutlet UIToolbar *toolBarActive; 
@property (nonatomic, strong) IBOutlet UIButton *uiButton; 
@property (nonatomic, strong) IBOutlet UIBarButtonItem *uiButtonItem; 

이 합성 :

@synthesize toolBarActive = _toolBarActive; 
@synthesize uiButton = _uiButton; 
@synthesize uiButtonItem = _uiButtonItem; 

3 쓰기 구현 : 이제

-(UIToolbar *) toolBarActive { 
    if(_toolBarActive == nil) { 
     _toolBarActive = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 380, 320, 40)]; 
     _toolBarActive.tintColor = [UIColor blackColor]; 
     NSMutableArray *arrayItem = [[NSMutableArray alloc] init]; 
     [arrayItem addObject:self.uiButtonItem]; 
     [_toolBarActive setItems:arrayItem animated:YES]; 
    } 
    return _toolBarActive; 
} 

- (UIButton *) uiButton { 
    if(_uiButton == nil) { 
     _uiButton = [[UIButton alloc] initWithFrame:CGRectMake(5, 5, 50, 50)]; 
     [_uiButton addTarget:self action:@selector(deletePointFromTrip) forControlEvents:UIControlEventTouchUpInside]; 
     [_uiButton setImage:[UIImage imageNamed:@"editable.png"] forState:UIControlStateNormal]; 
    } 
    return _uiButton; 
} 

- (UIBarButtonItem *) uiButtonItem { 
    if(_uiButtonItem == nil) { 
     _uiButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.uiButton]; 
     [_uiButtonItem setEnabled:YES]; 
    } 
    return _uiButtonItem; 
} 

당신이 가지고있는 UIButton uibarbuttomitem에서 uibutton like, image, action 등의 모든 속성을 정의 할 수 있습니다.