문제

나는 세 사람이있다 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]];

다른 도구 모음 항목과 마찬가지로 이것들을 추가하면 둘 사이에 공간이 골고루 분포됩니다.

다른 팁

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

도구 모음에서 항목을 드래그 앤 드롭 만하는 것만으로도 툴바를 삭제하고 일부를 유연하거나 고정 된 공간으로 바꾸어 원하는 효과를 얻으십시오. 아래 두 가지 예를 참조하십시오.

Evenly spaced

Centered

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]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top