【发布时间】:2013-12-31 03:06:07
【问题描述】:
iOS7 内置的自定义 X 或关闭按钮图标可用于关闭按钮吗?
【问题讨论】:
-
不,iOS 7 中没有任何控件。
-
但是您可以使用字符“x”创建自己的,并将边框和角设置为看起来像一个按钮。
iOS7 内置的自定义 X 或关闭按钮图标可用于关闭按钮吗?
【问题讨论】:
在 iOS 7 上看起来像 X 或 关闭按钮 的最接近的内置图标/图像是 UIBarButtonItemSystemStop 图像。这是documentation from Apple 的链接。下面是系统图像(我的图像可以使用 iOS 7 tint 参数着色):
您也可以创建自己的 - 在 Photoshop 中以图形方式或简单地使用文本(适合 iOS 7 设计)。只是一个幻想的 X 就可以了!即使是带有“X”的 UIBarButtonItem,然后将样式设置为 Done,也会给出加粗的 X。
另一个(私有)真实 iOS 示例来自 UIKit 的私有资源 - iAd 关闭按钮。尝试使用类似iOS Artwork Extractor 的应用程序来搜索和下载 UIKit 图像。 UIKit 中的图像归苹果所有;所以你需要创建自己的。您可以使用那里提供的图像作为灵感,然后在 Photoshop 中创建自己的东西。
【讨论】:
UIBarButtonItem 类型设置为UIBarButtonItemSystemStop 时,它看起来只会出现在UIToolbar 上。而且 Apple 可能不会直接从 Xcode IB 提供 stop 项,您可能必须将其设置为 refresh 然后在代码中进行更改。
当然可以。
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:(UIBarButtonSystemItemStop)
target:self
action:@selector(doneButtonTapped:)];
self.navigationItem.rightBarButtonItem = closeButton;
如图所示,它为您提供了一个内置的“X”按钮。
在 Xcode 5 和 iOS 7 下测试成功。
引用山姆的话:
即使是带有“X”的 UIBarButtonItem,然后将样式设置为 Done,也会给出加粗的 X。
虽然有效,但视觉效果难看,用户会感觉到。
【讨论】:
字母 X 在视觉上并不吸引人,但符号 × 应该很好用。
let buttonItem = UIBarButtonItem(title: "×", style: UIBarButtonItemStyle.Plain, target: nil, action: Selector(""))
let font = UIFont.systemFontOfSize(40)
buttonItem.setTitleTextAttributes([NSFontAttributeName: font], forState: .Normal)
只有我无法正确垂直对齐.. 甚至没有:
buttonItem.setTitlePositionAdjustment(UIOffsetMake(0, 10), forBarMetrics: .Default)
【讨论】:
使用UIBarButtonItem 并设置它的样式UIBarButtonSystemItemStop 可以给你一个X 按钮。
但我不确定这是否是你想要的。
【讨论】:
unicode ╳ 字符很接近(在必须使用 UIButton 而不是 UIBarButtonItem 的情况下,因此不能使用此处列出的其他解决方案)。
【讨论】:
这是一个棘手的话题。理想情况下,您可能希望从The Noun Project 生成一个图标,以获得像素更完美的版本。
我自己使用的是“添加联系人”按钮类型,然后使用此代码在加载时对其进行初始化以将其旋转 45 度:
yourUILabel.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 4)
但在我的选择中,这不是一个理想的解决方案。
希望这会有所帮助!
【讨论】:
iOS 13 +
我们可以使用多种内置类型,包括close:
UIButton(type: .close)
有关按钮类型的更多信息,请查看: https://developer.apple.com/documentation/uikit/uibutton/buttontype
【讨论】: