【问题标题】:UITabbar with rounded corners & custom height in Objective-CObjective-C中带有圆角和自定义高度的UITabbar
【发布时间】: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]];我仍然面临同样的问题
  • @Sivagami 只是你在你的 App Delegate 类上设置了self.window.backgroundColor = UIColor.whiteColor;

标签: ios objective-c uitabbar


【解决方案1】:

@Sivagami 在你的控制器 UIViewDidLoad 上试试这个,

UITabBar.appearance().shadowImage = UIImage()

【讨论】:

  • 试过这个,但不起作用。但是,我没有在 AppDelegate 中更改窗口颜色,而是在初始视图控制器中更改了所有选项卡,现在对我来说工作正常。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-21
  • 1970-01-01
相关资源
最近更新 更多