当我尝试以下代码时,条形按钮与边缘之间的间距约为30px,
但我希望它离边缘仅2个像素。有办法吗?
我只需要栏按钮,而不是自定义UIButton。
UIImage* buttonImage = [UIImage imageNamedH568: @"publish_button.png"];
UIButton * clearButton = [UIButton buttonWithType: UIButtonTypeCustom];
clearButton.frame = CGRectMake(244.0f, 5.0f, 65.0f, 33.0f);
clearButton.titleLabel.font = [Utils helveticaBoldFontOfSize: 12.0f];
[clearButton setBackgroundImage: buttonImage forState: UIControlStateNormal];
[clearButton setTitle: NSLocalizedString(@"Clear", nil) forState: UIControlStateNormal];
[clearButton setTitleColor: [UIColor whiteColor] forState: UIControlStateNormal];
[clearButton addTarget: self action: @selector(clearNotificationsList:) forControlEvents: UIControlEventTouchUpInside];
UIBarButtonItem* clearItem = [[UIBarButtonItem alloc] initWithCustomView: clearButton];
self.navigationItem.rightBarButtonItem = clearItem;
从UINavigationItem-iOS7Spacing添加了以下两个功能
- (UIBarButtonItem *)spacer
{
UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
space.width = -11;
return space;
}
- (BOOL)isIOS7
{
return ([[[UIDevice currentDevice] systemVersion] compare:@"7" options:NSNumericSearch] != NSOrderedAscending);
}
然后在loadView内部使用以下代码-
UIBarButtonItem* clearItem = [[UIBarButtonItem alloc] initWithCustomView: clearButton];
if ([self isIOS7]) {
self.navigationItem.rightBarButtonItems = @[[self spacer],clearItem];
}
else
{
self.navigationItem.rightBarButtonItem = clearItem;
}
完美地工作
谢谢大家的帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句