Изменить размер UIBarButtonItem в коде - PullRequest
10 голосов
/ 05 августа 2011

Как изменить размер UIBarButtonItem в коде?

Ответы [ 3 ]

18 голосов
/ 05 августа 2011

Вы не можете изменить размер UIBarButtonItem, как вы бы сделали UIView. Что вы можете сделать, это изменить свойство width .

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

Это должно работать для элемента кнопки с фиксированным пробелом.

3 голосов
/ 25 сентября 2014

Если вы хотите использовать какое-то пользовательское изображение в 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];
2 голосов
/ 04 июля 2014

Используйте свойство ширины UIBarButtonItem, чтобы изменить размер кнопки, чтобы подогнать ее, установив ее на 0.

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

Из документов Apple: «Если значение равно 0.0 или отрицательно, элемент устанавливает ширину объединеннойизображение и заголовок "https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarButtonItem_Class/Reference/Reference.html#//apple_ref/occ/instp/UIBarButtonItem/width

...