3

我想在我的工具栏上有一个方形按钮。我UIBarButtonItem使用的图像足够宽,可以将我的按钮推成矩形。我浏览了文档,但找不到最好的尺寸。

查看其他答案,29.0似乎是一个常见的尺寸,但我想得到确认。这是我设置按钮的方式:

UIBarButtonItem *locationButtonItem = [[UIBarButtonItem alloc] 
                                   initWithImage:[UIImage imageNamed:@"location.png"]
                                   style:UIBarButtonItemStyleBordered
                                   target:self
                                   action:@selector(locationButtonTapped:)];
[locationButtonItem setWidth:29.0f];

我应该将我的工具栏按钮设置为多少宽度才能使其成为方形?

4

4 回答 4

10
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage:[UIImage imageNamed:@"location.png"] forState:UIControlStateNormal];
    button.frame=CGRectMake(0,0, 29, 29);
[button addTarget:self action:@selector(locationButtonTapped:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *btnDone = [[UIBarButtonItem alloc] initWithCustomView:button];
//[btnDone setTarget:self];

self.navigationItem.rightBarButtonItem = btnDone;
[btnDone release];

试试这个......也许它会帮助你。

于 2012-05-21T13:51:06.743 回答
1

刚刚使用UIKit Artwork Extractor发现UIBarButtonImage当里面的图片是 13x16 @1x 像素时 是一个完美的正方形。UIBarButtonSystemItemAdd我只是测量了样式( )使用的“加号”按钮,UINavigationBarAddButton.png并自己尝试了一下。希望这会对某人有所帮助。

于 2012-09-29T12:50:23.880 回答
0

尝试这个:[locationButton setWidth:locationButton.height];

于 2012-05-21T13:06:23.883 回答
0

你不能改变 UIBarButton 的宽度。

取而代之的是,如果您想要自定义宽度,则需要使用 initWithCustomView。

只有 UIToolbar 中的按钮才能使用 width 属性。

于 2012-05-21T13:53:34.957 回答