当前位置: 首页 > 面试题库 >

UITabBar的圆角

司马宏茂
2023-03-14
问题内容

我想创建一个带有圆角的UITabBar。有什么办法可以
使UITabBar具有圆角?它将采用第二
张图片的形状。

该应用程序从tableView开始。当用户点击主题时,它们将被发送
到tabBar控制器。

在此处输入图片说明
这是我想要的形状

    • -编辑 - - -

这是我的AppDelegate:

func application(_application: UIApplication,
willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool{

    let tabBarController = window?.rootViewController as! UITabBarController
    let image = UIImage(named: "bar")
    let tabBarImage = resize(image: image!, newWidth: tabBarController.view.frame.width)
    tabBarController.tabBar.backgroundImage = tabBarImage


    return true
}

func resize(image: UIImage, newWidth: CGFloat) -> UIImage {

UIGraphicsBeginImageContext(CGSize(width: newWidth, height: image.size.height))
image.drawInRect( CGRect(x: 0, y: 0, width: newWidth, height: image.size.height))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

return newImage!
}

enter image description
here


问题答案:

嘿,我使用了tabBar的简单属性,即backgroundImage。

因此,我在didFinisLaunchingWithOptions中添加了appDelegate:

let tabBarController = window?.rootViewController as! UITabBarController
    let image = UIImage(named: "bar")
    let tabBarImage = resize(image: image!, newWidth: tabBarController.view.frame.width)
    tabBarController.tabBar.backgroundImage = tabBarImage

和我的自定义方法来更改图像的大小:

func resize(image: UIImage, newWidth: CGFloat) -> UIImage {

    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: image.size.height))
    image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: image.size.height)) // image.drawInRect( CGRect(x: 0, y: 0, width: newWidth, height: image.size.height))  in swift 2
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return newImage!
}

我使用了png图像作为背景,与您发布的图像相同,但是具有清晰的
颜色而不是黑色。

希望这可以帮助



 类似资料:
  • 自定义UITabBar,包括可自定义tab bar的背景图、tab bar的高度以及每个tab的图片,满足各种界面需求。但是,没有文字。 [Code4App.com]

  • 我有一个有5个项目的UITabBar。我想改变所有项目的未选择颜色。这些项目没有在UIViewController类中声明(我构建了它们并链接了故事板中的视图)。 是否有这样的代码:?

  • 问题内容: 我有一个默认视图控制器是的地方。当我在中推某个视图时,我希望能够隐藏UITabBarController的UITabBar 。 我尝试添加: 在我提出观点之前,但这似乎并不能解决问题。 关于我应该做什么或什至可能的任何提示?提前致谢! 问题答案: 这个更好: 您必须在要推入视图的控制器上设置hidesBottomBarWhenPushed = YES …

  • 我想添加一个自定义的实现到一个。 如果一个本身就是一个,我可以使用视图控制器包含,但它不是。 现在我能做的最好的事情就是将选项卡栏的视图添加到中单元格的: 问题是单元格仅显示的视图,而不显示控件本身。 如何在中显示整个?

  • 我在应用程序中使用uitabar。在我的一个选项卡栏中,UIViewController中有一个UITableView,其根视图控制器是导航控制器。当我点击一个单元格时,我会进入我的自定义编辑模式,这是一个UIViewController。 在我的编辑模式中,我有一个BackButton,它用TableView向我显示UIViewController。 我的问题是当我点击后退按钮,我的TabBar

  • 我有几个可行的解决方案,首先测量视图并以此方式设置角的大小,但随后我发现使用了对象。 但是,我仍然找不到XML中的解决方案。