如何在代码中调整UIBarButtonItem的大小

如何在代码中调整UIBarButtonItem的大小? 谢谢你的帮助!

你不能像UIView那样调整UIBarButtonItem的大小。 你可以做的是改变它的宽度属性。

UIBarButtonItem *b; // Initialize and such ... b.width = 150.0; 

这应该适用于固定空格栏button项目。

如果你想在UIBarButtonItem中使用一些自定义的图像,你可以使用这个代码。

 DoneButton = [[UIBarButtonItem alloc] initWithTitle:[Settings getConfigurableLabel:GENERAL_DONE] style:UIBarButtonItemStyleBordered target:self action:@selector(btnWorkOrderDoneClicked)]; UIButton *cameraButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 20.0f, 20.0f)]; UIImage *cameraImage = [UIImage imageNamed:@"cameraicon_white.png"]; [cameraButton setBackgroundImage:cameraImage forState:UIControlStateNormal]; [cameraButton addTarget:self action:@selector(openCamera) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem* cameraButtonItem = [[UIBarButtonItem alloc] initWithCustomView:cameraButton]; 

使用UIBarButtonItem的width属性通过将其设置为0来调整button的大小。

 UIBarButtonItem* btn = // init btn.width = .0f; 

从苹果的文档:“如果值为0.0或负值,该项目设置组合的图像和标题的宽度,以适应” https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarButtonItem_Class/Reference /Reference.html#//apple_ref/occ/instp/UIBarButtonItem/width