以编程方式将UILabel添加到UIToolbar

时间:2017-07-02 13:49:22

标签: ios swift

我正在尝试将UILabel添加到UIToolbar,使用swift 3.0语言以编程方式创建。 toolBar是伴随用户编辑UITextField时调用的自动键盘。这是我创建工具栏(由viewDidLoad调用)的功能,其中包括一个' Done'按钮,'取消'按钮,以及介于两者之间的空格:

func createToolbar {
let toolBar = UIToolbar()
toolBar.sizetofit()
toolBar.isUserInteractionEnabled = true
textField.inputAccessoryView = toolBar 
let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(EntryViewController.doneButtonTapped))
let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(EntryViewController.cancelButtonTapped))
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
toolBar.setItems([doneButton, space, cancelButton], animated: false)

以下是已加载工具栏的图片: toolBar Picture

要创建标签,我使用此代码:

let label = UILabel()
label.text = "Example"
let labelAsBarButtonItem = UIBarButtonItem(customView: label)
toolBar.setItems([doneButton, space, cancelButton, labelAsBarButtonItem], animated: false)
}

但是,此代码无效,并且未在创建的工具栏上加载标签。

2 个答案:

答案 0 :(得分:1)

下面的代码适用于我,尝试将工具栏高度设置为44并将其添加到视图

dftest=pd.DataFrame(np.random.rand(10**5,5))

percent=0
n=len(dftest)//100

for i,row in dftest.iterrows():
    if (i+1)//n>percent :
        percent +=1
        print (percent, "% realized")
    dftest.iloc[i] = 2*row #a job

答案 1 :(得分:0)

  

编辑回答

问题在于标签。 实例化后,您必须使用CGRect绘制它。所以, 例如,添加label.frame = CGRect(x: 20, y:20, width: 100, height: 50)

结果:

let label = UILabel()
label.text = "Example"
label.frame = CGRect(x: 20, y:20, width: 100, height: 50)
相关问题