2016-05-09 2 views
0

dI есть uitoolbar, который имеет две кнопки: первый из них является элементом System Button. Во-вторых, это флексируемое пространство системы, а третья - простая кнопка с текстом. Однако, когда панель инструментов появляется, первая кнопка центрирована, но кнопка «Обычная» - нет.Центрирование UIBarButtonItem Plain в панели инструментов по вертикали

enter image description here

Любая идея о том, как изменить правой кнопкой по центру по вертикали? Это код по настройке панели инструментов:

let sendButton = UIBarButtonItem(title: "test", style: .Plain, target: self, action: #selector(MyClass.test(_:))) 
    let toolBarItems = [UIBarButtonItem(barButtonSystemItem: .Camera, target: self, action: nil), 
         UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: self, action: nil), 
         sendButton] 
+0

Это может быть что-то другое прерывание, этот код вызывает тестовую кнопку в нижней части панели инструментов контроллера. –

+0

Не уверен, что вы говорите. Это простая панель инструментов пользовательского интерфейса. – Rafthecalf

+0

То, что я говорю, я пробовал свой код, поскольку это только действие в sendButton. Я взял контроллер нормального зрения и добавил его выход, он работает по назначению, показывает тест посередине, нет никаких ошибок в ваших ограничениях? , это не должно повлиять, но проверьте это. –

ответ

0

Вот код, я пробовал.

import UIKit 




class ViewController2 : UIViewController { 
@IBOutlet weak var mytoolbar: UIToolbar! 
override func viewDidLoad() { 

    super.viewDidLoad(); 

    let sendButton = UIBarButtonItem(title: "test", style: .Plain, target: self, action: nil) 
    let toolBarItems = [UIBarButtonItem(barButtonSystemItem: .Camera, target: self, action: nil), 
         UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: self, action: nil), 
         sendButton] 
    mytoolbar.items = toolBarItems 
} 




} 

Edit: Я использую следующий код для создания UIToolbar программно.

let mytoolbar = UIToolbar.init(frame: CGRect(x: 0 , y: 0, width:self.view.frame.size.width, height: 44)) 
     mytoolbar.backgroundColor = UIColor.blueColor() 
     let sendButton = UIBarButtonItem(title: "test", style: .Plain, target: self, action: nil) 
     let toolBarItems = [UIBarButtonItem(barButtonSystemItem: .Camera, target: self, action: nil), 
          UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: self, action: nil), 
          sendButton] 
     mytoolbar.items = toolBarItems 

    self.view.addSubview(mytoolbar) 

Надеется, что это помогает в настоящее время Вот результаты: enter image description here Это центрируется я догадываюсь. Можете ли вы показать мне свой код для добавления UIToolbar?

+0

Так что я действительно делаю это программно. Нет рассказов. Мне удалось обойти это с помощью UIButton и добавить его в UIBarButtonItem. Не уверен, почему .Plain не работает из коробки, когда я делаю это программно – Rafthecalf

+0

Вы имеете в виду, что вы создали программу uitoolbar слишком программно, если да, скажите мне, я попробую это. и вы говорите, что стиль plain не работает для вас –

+0

да, я создал его программно. Картинка, которую я опубликовала, - это результат, который я получаю:/.. Спасибо, что попробовали это @Sourav! – Rafthecalf

Смежные вопросы