Seb*_*aud 8 objective-c uinavigationbar vertical-alignment uibarbuttonitem ios
我的导航栏有问题,UIBarButtonItem没有正确垂直对齐.我不知道为什么,因为我使用的是简单的UIBarButtonItem,而不是自定义视图.请参阅下面的代码并感谢您的帮助!
UIBarButtonItem *newGameItem = [[UIBarButtonItem alloc] initWithTitle:@"New Game" style:UIBarButtonItemStyleDone target:self action:@selector(newGame)];
self.navigationItem.rightBarButtonItem = newGameItem;
Run Code Online (Sandbox Code Playgroud)
实际上有几种方法可以对齐条形按钮.尝试使用以下方法调整按钮标题位置:
[self.navigationItem.rightBarButtonItem setTitlePositionAdjustment:UIOffsetMake(-10, -10)
forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
-10 -10 - 仅举例
要么
您可以newGameItem
使用自定义初始化UIButton
.自定义按钮是UIButton的子类,已重写此方法
- (UIEdgeInsets)alignmentRectInsets {
return UIEdgeInsetsMake(0, -10, 0, 15.0f); // here you can play with values to align your button properly
}
Run Code Online (Sandbox Code Playgroud)
然后初始化你的 newGameItem
CustomBarButton *button = [CustomBarButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"New game" forState:UIControlStateNormal];
button.frame = CGRectMake (0, 0, 60, 40);
[button addTarget:self action:@selector(newGame) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *newGameItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.rightBarButtonItem = newGameItem;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7119 次 |
最近记录: |