如何隐藏 UIToolbar 上的 UIBarbuttonItem 以获得小尺寸 class?
How can I hide UIBarbuttonItem on UIToolbar for small size class?
很遗憾 UIToolbar
不支持 UIBarbuttonItem
元素的大小 classes。如何在 UIToolbar
上隐藏 UIBarbuttonItem
以获得小尺寸 class?
首先,添加:
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
[super traitCollectionDidChange:previousTraitCollection];
if ((self.traitCollection.verticalSizeClass != previousTraitCollection.verticalSizeClass)
|| (self.traitCollection.horizontalSizeClass != previousTraitCollection.horizontalSizeClass)) {
[self setupToolbar:self.traitCollection.horizontalSizeClass];
}
}
然后重新创建工具栏项:
if (horizontalSizeClass == UIUserInterfaceSizeClassCompact) {
mainItems = [NSArray arrayWithObjects:..., nil];
} else {
mainItems = [NSArray arrayWithObjects:..., nil];
}
[mainToolbar setItems:mainItems animated:NO];
很遗憾 UIToolbar
不支持 UIBarbuttonItem
元素的大小 classes。如何在 UIToolbar
上隐藏 UIBarbuttonItem
以获得小尺寸 class?
首先,添加:
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
[super traitCollectionDidChange:previousTraitCollection];
if ((self.traitCollection.verticalSizeClass != previousTraitCollection.verticalSizeClass)
|| (self.traitCollection.horizontalSizeClass != previousTraitCollection.horizontalSizeClass)) {
[self setupToolbar:self.traitCollection.horizontalSizeClass];
}
}
然后重新创建工具栏项:
if (horizontalSizeClass == UIUserInterfaceSizeClassCompact) {
mainItems = [NSArray arrayWithObjects:..., nil];
} else {
mainItems = [NSArray arrayWithObjects:..., nil];
}
[mainToolbar setItems:mainItems animated:NO];