2016-06-07 4 views
1

1 UIToolBar 안에 4 개의 UIBarButtonItem (penButton, textButton, highlightButton & stampButton)이 있고 각 단추를 세로로 가져 오려고합니다. 이제는 가로로 정렬됩니다.UIToolbar의 UIBarButtonItem 위치

NSBundle *currentBundle = [NSBundle bundleForClass:[self class]]; 

    UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(5, 20, 200, 200)]; 
    [toolBar setBackgroundColor:[UIColor clearColor]]; 

    UIButton *penTool = [UIButton buttonWithType:UIButtonTypeCustom]; 
    penTool.frame = CGRectMake(0, 0, 30, 30); 
    [penTool setImage:[UIImage imageNamed:@"pen-but" inBundle:currentBundle compatibleWithTraitCollection:nil] forState:UIControlStateNormal]; 
    [penTool addTarget:self action:@selector(drawButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    penTool.autoresizingMask = UIViewAutoresizingNone; 
    penTool.exclusiveTouch = YES; 
    penTool.tag = 1; 
    UIBarButtonItem * penButton = [[[UIBarButtonItem alloc] initWithCustomView:penTool] autorelease]; 

    UIButton *textTool = [UIButton buttonWithType:UIButtonTypeCustom]; 
    textTool.frame = CGRectMake(0, 0, 30, 30); 
    [textTool setImage:[UIImage imageNamed:@"text-but" inBundle:currentBundle compatibleWithTraitCollection:nil] forState:UIControlStateNormal]; 
    [textTool addTarget:self action:@selector(drawButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    textTool.autoresizingMask = UIViewAutoresizingNone; 
    textTool.exclusiveTouch = YES; 
    textTool.tag = 2; 
    UIBarButtonItem * textButton = [[[UIBarButtonItem alloc] initWithCustomView:textTool] autorelease]; 

    UIButton *highlightTool = [UIButton buttonWithType:UIButtonTypeCustom]; 
    highlightTool.frame = CGRectMake(0, 0, 30, 30); 
    [highlightTool setImage:[UIImage imageNamed:@"squarefill-but" inBundle:currentBundle compatibleWithTraitCollection:nil] forState:UIControlStateNormal]; 
    [highlightTool addTarget:self action:@selector(drawButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    highlightTool.autoresizingMask = UIViewAutoresizingNone; 
    highlightTool.exclusiveTouch = YES; 
    highlightTool.tag = 3; 
    UIBarButtonItem * highlightButton = [[[UIBarButtonItem alloc] initWithCustomView:highlightTool] autorelease]; 

    UIButton *stampTool = [UIButton buttonWithType:UIButtonTypeCustom]; 
    stampTool.frame = CGRectMake(8, 8, 30, 30); 
    [stampTool setImage:[UIImage imageNamed:@"approved" inBundle:currentBundle compatibleWithTraitCollection:nil] forState:UIControlStateNormal]; 
    [stampTool addTarget:self action:@selector(drawButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    stampTool.autoresizingMask = UIViewAutoresizingNone; 
    stampTool.exclusiveTouch = YES; 
    stampTool.tag = 4; 
    UIBarButtonItem * stampButton = [[[UIBarButtonItem alloc] initWithCustomView:stampTool] autorelease]; 


    NSArray *buttons = [NSArray arrayWithObjects: penButton, textButton, highlightButton, stampButton, nil]; 

    [toolBar setItems:buttons animated:NO]; 

    [self.view addSubview:toolBar]; 

어떻게하면 수직으로 정렬 될 수 있습니까?

+0

그래서 세로 도구 모음을 만들려고합니까? – CZ54

답변

0

UIToolbar를 수직으로 작동시킬 수 있다고 생각하지 않습니다. 높이는 44/32 픽셀로 제한됩니다. 귀하의 목적을 위해 가장 쉬운 방법은 사용자 정의 UIView를 만들고 자동 레이아웃을 사용하여 툴바처럼 작동하게하는 것입니다.

0

그냥 interfacebuilder를 가지고 놀아보세요. autolayout으로 툴바 높이를 설정할 수 있지만 barButtonItem은 자동 레이아웃을 설정할 수 없습니다. 중요한 점 : 이미지 크기를 고정하기 위해 바 버튼이 자동 성장했습니다. 필요한 크기로 이미지를 준비하고 btn 항목으로 설정하십시오. enter image description here

관련 문제