当我创建并添加UIToolBar和UIBarButton项目时,如何让工具栏和项目在两个方向上正确显示。这就是我到目前为止所做的:
self.toolbar = [[[UIToolbar alloc]initWithFrame:CGRectMake(0, 372, 320, 44)]autorelease];
self.toolbar.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.deleteButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(deleteButtonClicked)] autorelease];
self.deleteButton.style = UIBarButtonItemStylePlain;
UIBarButtonItem *flexibleSpace = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease];
self.shareButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareButtonClicked)] autorelease];
self.shareButton.style = UIBarButtonItemStylePlain;
self.navigationItem.leftBarButtonItem = backItem;
NSArray *toolbarItems = [NSArray arrayWithObjects:self.shareButton,flexibleSpace,self.deleteButton,nil];
[self.toolbar setItems:toolbarItems animated:NO];
正如您从图像中看到的那样,UIBarButtonItems在纵向看起来是正确的,但是在风景中奇怪地挤压并偏离中心(尤其是垃圾图标)。是否有一个明显的解决方案我缺少,或者我是否必须手动调整大小才能做到这一点?
这是一个微妙的差异,但它应该是这样的:
答案 0 :(得分:0)
您必须查看Autoresizing
中的Size inspector
选项以获取UIToolBar和按钮。 UIToolBar
也可能设置了Autoresize subviews
的复选标记取消选中,因此它不会影响您的按钮。
答案 1 :(得分:0)
答案,至少在iOS 5之前是使用UINavigationController
的内置工具栏而不是创建自己的工具栏。内置工具栏将正确自动调整大小。