可以在UIToolbar中调整UIBarButtonItem的标题吗?
我尝试了以下几行代码,但没有成功:
UIBarButtonItem.appearance().setTitlePositionAdjustment(UIOffset(horizontal: 30, vertical: 30), forBarMetrics: UIBarMetrics.Default)还有这一条:
self.setTitlePositionAdjustment(UIOffset(horizontal: 30, vertical: 30), forBarMetrics: UIBarMetrics.Compact)发布于 2015-09-02 15:34:12
偏移文本( UIBarButtonItem!)在垂直的UIToolBar内部似乎不能与Xcode7(Beta6)一起工作。
你是对的,according to the docs,这应该可以做到:UIBarButtonItem.appearance().setTitlePositionAdjustment
在AppDelegate中全局执行:
UIBarButtonItem.appearance().setTitlePositionAdjustment(UIOffset(horizontal: 30, vertical: 30), forBarMetrics: UIBarMetrics.Default)或在本地使用商品直销店本身:
(Swift)
self.myBarItem.setTitlePositionAdjustment(UIOffset(horizontal: 30, vertical: 30), forBarMetrics: UIBarMetrics.Default)(Obj C)
[self.myBarItem setTitlePositionAdjustment:UIOffsetMake(30, 30) forBarMetrics: UIBarMetricsDefault];这是一个外观上的错误吗?
发布于 2019-04-08 20:58:25
更改文本的baselineOffset。
let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(self.someFunction))
let attributes = [NSAttributedString.Key.baselineOffset: NSNumber(value: -3)]
doneButton.setTitleTextAttributes(attributes, for: .normal)负值baselineOffset将标题文本下移,正值将标题文本上移。默认值为0。
我在iOS 11上进行了测试。
发布于 2015-10-28 23:40:56
我也对此感到沮丧,所以我将UIBarButtonItem子类化,使其按预期工作。根据this的回答,我得出了这个结论:
@interface TitleAdjustingBarButtonItem(){
UIView* _parentView;
UIButton* _button;
}
@end
@implementation TitleAdjustingBarButtonItem
-(id) initWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action{
_button = [[UIButton alloc] init];
[_button setTitle:title forState:UIControlStateNormal];
[_button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
[_button sizeToFit];
_parentView = [[UIView alloc] initWithFrame:_button.bounds];
[_parentView addSubview:_button];
return [super initWithCustomView:_parentView];
}
#pragma mark - property setters -
-(void) setTitlePositionAdjustment:(UIOffset)adjustment forBarMetrics:(UIBarMetrics)barMetrics{
[_button sizeToFit];
_parentView.bounds = CGRectMake(0.0, 0.0, _button.bounds.size.width - (adjustment.horizontal * 2.0), _button.bounds.size.height - (adjustment.vertical * 2.0));
}诚然,它没有考虑到不同的bar指标,但对于默认指标,我已经让它工作得很好。
https://stackoverflow.com/questions/30124298
复制相似问题