Objective-C中带有圆角和自定义高度的UITabbar
Posted
技术标签:
【中文标题】Objective-C中带有圆角和自定义高度的UITabbar【英文标题】:UITabbar with rounded corners & custom height in Objective-C 【发布时间】:2020-03-03 12:16:38 【问题描述】:我在我的应用程序中使用 UITabbar,它有四个选项。我想增加默认的 Jabbar 高度,并使左上角和右上角圆角。
我尝试了这些解决方案,但它不起作用。 Rounded corners for UITabBar
Change tab bar height and width and add rounded corners
以下代码适用于圆角和高度,但在拐角处显示黑色空间(附图供参考)。
下面是我的代码。
- (void)viewDidLayoutSubviews
[super viewDidLayoutSubviews];
[self.tabBar invalidateIntrinsicContentSize];
CGRect tabFrame = self.tabBar.frame;
tabFrame.size.height = tabbarHeight;
tabFrame.origin.y = self.view.frame.size.height - tabbarHeight;
self.tabBar.frame = tabFrame;
// Called this method in viewDidLoad
- (void)customizeTabbarAppearance
[self.tabBar setTintColor:[UIColor redColor]];
[self.tabBar setBarTintColor:[UIColor whiteColor]];
[self.tabBar.layer setCornerRadius:20];
[self.tabBar setTranslucent:YES];
[self.tabBar.layer setMasksToBounds:YES];
self.tabBar.layer.maskedCorners = kCALayerMinXMinYCorner | kCALayerMaxXMinYCorner;
【问题讨论】:
你试过给 UIWindow 设置背景色吗? 你能解释一下改变窗口的背景颜色如何影响这个 我试过这样 UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; [窗口设置背景颜色:[UIColor redColor]];我仍然面临同样的问题 github.com/satishVekariya/SUITabView @Sivagami 只是你在你的 App Delegate 类上设置了self.window.backgroundColor = UIColor.whiteColor;
。
【参考方案1】:
@Sivagami 在你的控制器 UIViewDidLoad 上试试这个,
UITabBar.appearance().shadowImage = UIImage()
【讨论】:
试过这个,但不起作用。但是,我没有在 AppDelegate 中更改窗口颜色,而是在初始视图控制器中更改了所有选项卡,现在对我来说工作正常。感谢您的帮助以上是关于Objective-C中带有圆角和自定义高度的UITabbar的主要内容,如果未能解决你的问题,请参考以下文章
在卡片视图中使用时,Android 中带有圆角的 Persistent Bottom Sheet 会崩溃