IT story

UIToolBar 항목 정렬

hot-time 2020. 7. 30. 09:45
반응형

UIToolBar 항목 정렬


UIBarButtonItem아래와 같이 세 가지를 만들었습니다. 그들은 왼쪽에 정렬하고 오른쪽에 간격이 없도록 가운데를 정렬하고 싶습니다. 에 정렬 속성이 표시되지 않습니다 UIToolBar. 이것을 달성하는 다른 방법이 있습니까?

//create some buttons
UIBarButtonItem *aboutButton = [[UIBarButtonItem alloc] initWithTitle:@"About" style:UIBarButtonItemStyleBordered target:self action:@selector(showAbout:)];
[toolbar setItems:[NSArray arrayWithObjects:settingsButton,deleteButton,aboutButton,nil]];
//Add the toolbar as a subview to the navigation controller.
[self.navigationController.view addSubview:toolbar];

두 개의 UIBarButtonSystemItemFlexibleSpace 항목을 도구 모음, 항목의 왼쪽 및 오른쪽에 추가하십시오.

UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolbar setItems:[NSArray arrayWithObjects:flexibleSpace, settingsButton,deleteButton,aboutButton, flexibleSpace, nil]];

다른 툴바 항목과 같이 이들을 추가하면 두 툴바 사이에 공간이 고르게 분포됩니다.


스토리 보드에서 바로 수행 할 수도 있습니다.

툴바에서 항목을 끌어다 놓기 만하면 원하는 효과를 얻을 수 있도록 일부를 유연하거나 고정 된 공간으로 바꿀 수 있습니다. 아래 두 가지 예를 참조하십시오.

균등 한 간격

중심


Xamarin iOS에서

오른쪽 정렬 :

yourBar.SetItems(new [] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), yourButton }, false);

가운데 정렬 :

var flexibleSpace = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);
yourBar.SetItems(new [] { flexibleSpace, yourButton, flexibleSpace}, false);

스위프트 버전 :

    let toolbar = UIToolbar(frame: CGRectMake(0, 0, viewController.view.frame.size.width, 35.0))
    let flexibleSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: viewController, action: nil)
    let button1 = UIBarButtonItem(title: "A", style: UIBarButtonItemStyle.Plain, target: viewController, action: foo)
    let button2 = UIBarButtonItem(title: "B", style: UIBarButtonItemStyle.Plain, target: viewController, action: bar)
    let button3 = UIBarButtonItem(title: "C", style: UIBarButtonItemStyle.Plain, target: viewController, action: blah)
    toolbar.items = [button1, flexibleSpace, button2, flexibleSpace, button3]

참고 URL : https://stackoverflow.com/questions/602717/aligning-uitoolbar-items

반응형