UIbarbuttonItem 标题的自定义字体
Posted
技术标签:
【中文标题】UIbarbuttonItem 标题的自定义字体【英文标题】:Custom font to a UIbarbuttonItem title 【发布时间】:2011-03-01 06:13:32 【问题描述】:我需要更改 UIBarButtonItem 标题的字体。目前是barbuttonItem.customView = customLabel
。现在我想添加一个选择器和目标,这样我就可以获得 touchDown 事件。具有相同的字体样式。
提前致谢,
【问题讨论】:
【参考方案1】:如果您不想创建自定义视图,可以使用 UIBarItem 上的 setTitleTextAttributes 方法来设置字体。例如这里是一个 UIBarButtonItem 使用它来操作字体:
[self.filterButton setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"Helvetica Neue" size:15.0],UITextAttributeFont,
nil]forState:UIControlStateNormal];
【讨论】:
我不确定你的情况,但它不适用于自定义字体(这正是 OP 所要求的)。 请确保使用 NSFontAttributeName 指定字体,使用字典文字语法如下: [barButtonItem setTitleTextAttributes:@NSFontAttributeName: [UIFont fontWithName:@"AvenirNext-Regular" size:15.0 ] forState:UIControlStateNormal];【参考方案2】:您应该只使用 UIButton 作为您的自定义视图。
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
customButton.titleLabel.font = [UIFont systemFontOfSize:14.0];
[customButton setImage:[UIImage imageNamed:@"image_up_state.png"] forState:UIControlStateNormal];
[customButton setImage: [UIImage imageNamed:@"image_down_state.png"] forState:UIControlStateHighlighted];
[customButton addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchUpInside];
这将设置您的自定义字体,然后允许您拥有向上状态图像和向下状态图像。当你点击按钮时,它会调用 doSomething 消息。
【讨论】:
以上是关于UIbarbuttonItem 标题的自定义字体的主要内容,如果未能解决你的问题,请参考以下文章
添加 UIStackView 作为 UIBarButtonItem 的自定义视图
如何创建没有光泽效果的自定义 UIBarButtonItem
UINavigationController 的自定义 UIBarButtonItem/UISegmentedControl
使用自定义字体时,UIBarButtonItem 在后退手势上跳转