我正在开发一个Monotouch项目,我已经使用CameraOverlayView设计了UIImagePickerController。 在底部我有一个UIToolBar,在iPhone5上工具栏很大。这里的相机按钮是垂直的中心,但我的取消按钮不是。
我可以做些什么来集中它? 创建它的代码是:
mCameraToolbar = new UIToolbar();
UIBarButtonItem cancel = new UIBarButtonItem(UIBarButtonSystemItem.Cancel);
cancel.Clicked += delegate(object sender, EventArgs e)
{
mPicker.DismissViewController(true, null);
if(mImgView.Image == null)
NavigationController.PopViewControllerAnimated(true);
};
UIBarButtonItem camera = new UIBarButtonItem(UIBarButtonSystemItem.Camera);
camera.Clicked += delegate(object sender, EventArgs e)
{
mPicker.TakePicture();
};
mCameraToolbar.SetItems(new UIBarButtonItem[]{
cancel,
new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
camera,
new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace)
}, true);
答案 0 :(得分:0)
我认为使用简单的UIBarButtonItem是不可能的。但您可以尝试将视图添加为容器。您只需在创建新的UIBarButtonItem时传递UIView:
UIView containerView = new UIView();
containerView.Frame = new RectangleF(0f,0f,150f,YOUR_TOOLBAR_HEIGHT);
UIButton buttonAnuller = new UIButton();
buttonAn.SetTitle("Annuler",UIControlState.Normal);
buttonAn.Bounds = new RectangleF(0f,0f,150f,30f);
buttonAn.Center=new PointF(containerView.Frame.Width/2,containerView.Frame.Height/2);
containerView.Add(buttonAn);
UIBarButtonItem itemWithView = new UIBarButtonItem(containerView);
在此代码中剪切了一个containerView。之后创建一个Button,添加到containerView。最后一步是仅使用容器作为参数创建新的UIBarButtonItem。
答案 1 :(得分:-1)
我没有想出如何驯服工具栏,而是建议不用它,你可以通过自定义视图轻松获得结果,里面有两个按钮。
PS:不要使用匿名代表。否则你的代码会泄漏内存。