搜:
swift add toolbar item
参考:
let cameraToolbarItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Camera, target: self, action: Selector("showCameraOption")) let toolbarItems = [cameraToolbarItem] self.setToolbarItems(toolbarItems, animated: true)
效果:
但是,想要把相机按钮:
换成自定义的图片,放到最右边
所以:
要搞清楚,如何定义加入的位置
搜:
swift UIToolbar adjust position
swift Toolbar item adjust position
swift uibarbuttonitem position
swift toolbar uibarbuttonitem position
参考:
最后是:
添加了两个toolbar的item,然后使得照相机,靠最右边显示的:
//set toolbar item print("self.navigationController=\(self.navigationController)") //self.navigationController=Optional(<UINavigationController: 0x7fc044167800>) self.navigationController?.setToolbarHidden(false, animated: true) // let cameraToolbarItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Camera, target: self, action: Selector("showCameraOption")) let cameraToolbarItem = UIBarButtonItem(image: UIImage(named: "toolbar_camera"), style: UIBarButtonItemStyle.Plain, target: self, action: Selector("showCameraOption")) let inputToolbarView = UIView(frame: CGRectMake( 0, 0, //TODO: adjust according to iPhone screen width self.view.frame.width - 60, //iPhone5:260, iPhone:315 30)) print("inputToolbarView.frame=\(inputToolbarView.frame)") //for debug //inputToolbarView.backgroundColor = UIColor.greenColor() let smileyRightPadding:CGFloat = 8 let smileySize:CGFloat = 30 let inputTextFieldWidth = inputToolbarView.frame.width - smileySize - smileyRightPadding print("inputTextFieldWidth=\(inputTextFieldWidth)") let inputTextField = UITextField(frame: CGRectMake( 0, 0, inputTextFieldWidth, inputToolbarView.frame.height )) print("inputTextField.frame=\(inputTextField.frame)") inputToolbarView.addSubview(inputTextField) inputTextField.borderStyle = UITextBorderStyle.RoundedRect //for debug //inputTextField.backgroundColor = UIColor.yellowColor() let smileyButton:UIButton = UIButton(frame: CGRectMake( inputTextFieldWidth, 0, smileySize, smileySize)) smileyButton.addTarget( self, action:Selector("toggleEmoji"), forControlEvents:UIControlEvents.TouchUpInside) smileyButton.setImage(UIImage(named: "toobar_smiley"),forState:UIControlState.Normal) inputToolbarView.addSubview(smileyButton) //for debug //smileyButton.backgroundColor = UIColor.purpleColor() let inputToolbarItem = UIBarButtonItem(customView: inputToolbarView) let toolbarItems = [inputToolbarItem, cameraToolbarItem] self.setToolbarItems(toolbarItems, animated: true)
效果:
抽空再去参考:
想办法左对齐或右对齐
的:
UIBarButtonSystemItem的FlexibleSpace和FixedSpace搭配使用,估计就可以了。
转载请注明:在路上 » [已解决]swift向toolbar工具栏中添加自定义视图