我有一个UITableViewController。我想在底部有一个“toolbar-ish”组件。
我开始使用背景图片和按钮。在界面构建器中,我将它们添加到iPhone屏幕的底部。我遇到的问题是背景图像和按钮随表格滚动。我显然需要将它固定在底部。
在线找不到太多方向,我决定自定义UIToolbar以查看我想要的内容,因为默认情况下该位置是固定的。在我的UITableViewController的initWithNibName中,我有:
UIImage *shuffleButtonImage = [UIImage imageNamed:@"shuffle_button.png"];
NSArray* toolbarItems = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc] initWithImage:shuffleButtonImage
style:UIBarButtonItemStylePlain
target:self
action:@selector(push:)],
nil];
[toolbarItems makeObjectsPerformSelector:@selector(release)];
self.toolbarItems = toolbarItems;
我现在遇到的问题是“shuffleButtonImage”没有正确显示。按钮的形状显示正常,但它是白色的,因此看起来不像图像。
有谁知道为什么要显示“白色图像”而不是实际图像?
自定义UIToolbar也是个好主意,或者有一种简单的方法来确保固定位置“toolbar-ish”组件。
重申 - 我的“toolbar-ish”组件只需要是我UITableView按钮上的一个按钮。单个按钮具有我用图像创建的渐变颜色背景。
答案 0 :(得分:1)
来自documentation中“image”参数对initWithImage的描述:style:target:action:UIBarButtonItem类的方法:
条形图上显示的图像来自此图像。如果此图像太大而无法放在条形图上,则会缩放以适合该图像。通常,工具栏和导航栏图像的大小为20 x 20磅。源图像中的alpha值用于创建图像 - 忽略不透明值。
基本上,您提供的图像用作蒙版,为实际按钮图像创建轮廓/阴影。我不相信你可以改变UIBarButtonItem的这种行为。
作为替代方法,您可以创建一个UIButton(带有您的彩色图像),然后将其设置为UIBarButtonItem的自定义视图,如建议的here。如果你走这条路线,也可能需要设置UIButton的边界以匹配UIBarButtonItem的边界(参见this讨论)。
答案 1 :(得分:0)
您的图片可能显示为空白,因为您的资源中找不到它。在定义shuffleButtonImage
之后设置一个断点并检查它是否为零。