如何在 UITableViewController 中创建类似自定义 UIToolbar 的组件?
我有一个 UITableViewController。我想要在底部有一个“工具栏式”组件。
我首先使用背景图像和按钮。在界面生成器中,我将它们添加到 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 听起来是个好主意吗?还是有一种简单的方法来确保固定位置的“工具栏式”组件。
重申一下 - 我的“工具栏式”组件只需要是 UITableView 按钮上的一个按钮。单个按钮具有我用图像创建的渐变颜色背景。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从 文档:
基本上,您提供的图像用作蒙版,为实际按钮图像创建轮廓/阴影。我不相信您可以更改 UIBarButtonItem 的这种行为。
作为替代方案,您可以创建一个 UIButton (使用彩色图像),然后将其设置为 UIBarButtonItem 的自定义视图,如建议的 此讨论)。
From the description of the "image" parameter in the documentation for the initWithImage:style:target:action: method of the UIBarButtonItem class:
Basically, the image you provide is used as a mask to create an outline/shadow for the actual button image. I do not believe you can change this behavior for a UIBarButtonItem.
As an alternative, you can create a UIButton (with your color image) and then set it as the custom view for your UIBarButtonItem, as suggested here. If you go that route, setting the bounds of the UIButton to match the bounds of the UIBarButtonItem might also be necessary (see this discussion).
您的图像可能显示为空白,因为在您的资源中找不到它。在
shuffleButtonImage
定义后放置一个断点并检查它不是 nil。Your image may be showing up blank because it's not being found in your resources. Put a breakpoint after your definition of
shuffleButtonImage
and check it's not nil.