我有一个UITabBarController,在其中使用此代码来设置选择指示器图像:
let selectedBG = UIImage(named:"tabbarbgtest.png")?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 0, 0, 0))
UITabBar.appearance().selectionIndicatorImage = selectedBG
但是该图像不能填充整个空间-请参见下图:
图像只是一个红色的正方形,分辨率为82x49px,但是图像较宽时,它仍然无法填充整个空间。希望你们能提供帮助-谢谢。
如果要在选项卡选择上设置红色图像,我建议您设置活动的选项卡栏项目的背景颜色,根据我的意见,只要您可以使用编码进行编码,为什么要使用图像,因此最好设置选择颜色,而不是图片。您可以使用以下代码来实现。
// set red as selected background color
let numberOfItems = CGFloat(tabBar.items!.count)
let tabBarItemSize = CGSize(width: tabBar.frame.width / numberOfItems, height: tabBar.frame.height)
tabBar.selectionIndicatorImage = UIImage.imageWithColor(color: UIColor.red, size: tabBarItemSize).resizableImage(withCapInsets: .zero)
// remove default border
tabBar.frame.size.width = self.view.frame.width + 4
tabBar.frame.origin.x = -2
利用以下扩展UIImage
:
extension UIImage {
class func imageWithColor(color: UIColor, size: CGSize) -> UIImage {
let rect: CGRect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(rect)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image
}
}
希望对您有所帮助。
或 其他方式:
在您的tabBarController中,您可以设置图像的默认UITabBar
tintColor,barTintColor,selectionIndicatorImage(在此处作一些说明)和renderingMode,请参见以下注释:
class MyTabBarController: UITabBarController, UINavigationControllerDelegate {
...
override func viewDidLoad() {
...
// Sets the default color of the icon of the selected UITabBarItem and Title
UITabBar.appearance().tintColor = UIColor.red
// Sets the default color of the background of the UITabBar
UITabBar.appearance().barTintColor = UIColor.black
// Sets the background color of the selected UITabBarItem (using and plain colored UIImage with the width = 1/5 of the tabBar (if you have 5 items) and the height of the tabBar)
UITabBar.appearance().selectionIndicatorImage = UIImage().makeImageWithColorAndSize(color: UIColor.blue, size: CGSize(width: tabBar.frame.width/5, height: tabBar.frame.height))
// Uses the original colors for your images, so they aren't not rendered as grey automatically.
for item in (self.tabBar.items)! {
if let image = item.image {
item.image = image.withRenderingMode(.alwaysOriginal)
}
}
}
...
}
您将需要扩展UIImage类,以制作具有所需大小的纯色图像:
extension UIImage {
func makeImageWithColorAndSize(color: UIColor, size: CGSize) -> UIImage {
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(CGRect(x: 0, y: 0, width: size.width, height: size.height))
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
}
我一直在使用View Pager的图片幻灯片,但是我无法使View Pager内部的图像视图填充View Pager内部水平和垂直的完整空间。知道怎么做吗? 我在我的页面适配器中尝试过这个 但还是没有运气:( 我的布局 null 我的PageAdapter
我的图像滑块不是我想要的方式。 除非我的浏览器窗口很小,否则图像不会填满容器的整个宽度。当我的窗口较大时,图像的右侧有一个空白,而不是图像填满整个宽度。 这是我的代码: 和CSS:
问题内容: 好的,这是我对Ajax的第一次尝试,它使我发疯,因为我实在无法绕开它。我想做的是在第一个框中用数据库中的客户填充,然后使用customerID通过select.php脚本从数据库中选择所有车辆ID。发生的情况是“客户”框被选中,但是选择客户时什么也没有发生。 这是我的Test.php文件: 这是我的select.php文件: 我正在尝试修改本教程以使用数据库,但到目前为止我没有成功。
Ive得到了一个JFrame,并将LayoutManager设置为BorderLayout,然后继续添加带有图像的JLabel。但是,当我调整框架的大小时,JLabel不会调整大小。我没有向North,S,E等添加任何组件。我希望简单地让标签内的图像填满整个框架,当然,让我的菜单保持机智。
我有一个<代码> 窄的标题行 我想占用div剩余部分的图像。 如何使用纯CSS(无Javascript)实现这一点?我一直在尝试很多事情,运气不好。 这是我能得到的最接近的;图像偷偷溜出了的绿色边框 下面是我尝试使用,但失败了。
我有一个名为<code>cars_denorm</code>的非规范化表,它包含以下列: 在规范化这些数据的最后,我为、color列创建了单独的表——这三个表由 我正在尝试填充一表,该表是列 并且引用来自< code>make 、< code>model和< code>color表的id。基本上,我希望遍历< code>cars_denorm表中的每一行,并为每一行查询< code>make 、<