UIToolbarresize导致景观中奇怪的UIBarButtonItem大小
当我创build并添加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在纵向上看起来是正确的,但在景观上奇怪地被压扁并偏离中心(特别是垃圾图标)。 有没有一个明显的解决scheme,我错过了,或者我必须做手动resize,以得到这个权利?
这是一个微妙的差异,但这应该是这样的:
您必须查看UIToolBar和button的“ Size inspector
中的“ Autoresizing
选项。 UIToolBar
也可能有一个复选标记设置为Autoresize subviews
取消选中,所以它不会影响你的button。
答案是,至less在iOS 5之前是使用UINavigationController
的内置工具条而不是创build自己的。 内置工具栏将正确自动resize。