iOS – UIBarButtonItem标识符 – 创build“设置”齿轮button的选项
我想创build一个UIBarButtonItem来表示应用程序的设置(齿轮)。 目前我只能find一个选项来创buildUIBarButtonItem(接口生成器>属性检查器>标识符),如“添加”(+),“编辑”,“完成”,“取消”等
我无法find创build设置(齿轮)图标的选项。 有没有办法做到这一点在界面生成器或通过代码?
或者我必须创build一个图像,然后是图像?
Unicode有几个值得注意的例子,你可以简单地复制和粘贴到Xcode中的string声明中,或者使用标准的UnicodestringEscape(\ uxxxx),而且对于Unicode来说,iOS实际上是相当stream行的(我知道一些字符相当丑陋,但这是雅的Unicode):)
Unicode字符'GEAR WITH HUB'(U + 26ED): http : //www.fileformat.info/info/unicode/char/26ed/index.htm
Unicode字符'GEAR'(U + 2699): http : //www.fileformat.info/info/unicode/char/2699/index.htm
或者准备一个图像,并相应地设置UIBarButtonItem的customView属性。
撰写CodaFi和user1046037答案:
使用Unicode字符作为标题创buildUIBarButtonItem。
你必须用标题( initWithTitle:
UIBarButtonItem
来初始化UIBarButtonItem
而不是系统项目( initWithBarButtonSystemItem:
UIBarButtonItem
。
您可以使用string(如Unicode字符)设置自定义标题。
你可以调整标题。
UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"\u2699" style:UIBarButtonItemStylePlain target:self action:@selector(showSettings)]; UIFont *customFont = [UIFont fontWithName:@"Helvetica" size:24.0]; NSDictionary *fontDictionary = @{NSFontAttributeName : customFont}; [settingsButton setTitleTextAttributes:fontDictionary forState:UIControlStateNormal];
要使用Swift获取齿轮图标,请在viewDidLoad()
执行以下操作,假设您已将视图中的button连接到控制器。 (例如: @IBOutlet var settingsButton: UIBarButtonItem!
)
self.settingsButton.title = NSString(string: "\u{2699}") as String if let font = UIFont(name: "Helvetica", size: 18.0) { self.settingsButton.setTitleTextAttributes([NSFontAttributeName: font], forState: UIControlState.Normal) }
这适用于我在Swift 3和iOS 10 …
let settingsButton = UIBarButtonItem(title: NSString(string: "\u{2699}\u{0000FE0E}") as String, style: .plain, target: self, action: #selector(settings)) let font = UIFont.systemFont(ofSize: 28) // adjust the size as required let attributes = [NSFontAttributeName : font] settingsButton.setTitleTextAttributes(attributes, for: .normal)
在接受的答案中看@ hazernut的评论。 如果不将string添加到string,它将显示为表情符号,并且不受任何外观设置的限制。 添加该string修复。