uinavigationController左按钮框架问题ios6和IOS7
问题出在ios7,ios6还可以,我正在处理xcode 5uinavigationController左按钮框架问题ios6和IOS7,ios,iphone,objective-c,ios6,ios7,Ios,Iphone,Objective C,Ios6,Ios7,问题出在ios7,ios6还可以,我正在处理xcode 5 UIImage *backButtonBackgroundImg = [UIImage imageNamed:@"menu.png"]; backButton.frame = CGRectMake(0.0f, 0.0f,backButtonBackgroundImg.size.width, backButtonBackgroundImg.size.height); [backButton setImage:backButtonBack
UIImage *backButtonBackgroundImg = [UIImage imageNamed:@"menu.png"];
backButton.frame = CGRectMake(0.0f, 0.0f,backButtonBackgroundImg.size.width, backButtonBackgroundImg.size.height);
[backButton setImage:backButtonBackgroundImg forState:UIControlStateNormal];
[backButton addTarget:self.revealViewController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
[backButton setBackgroundColor:[UIColor clearColor]];
backButton.titleLabel.font = [UIFont boldSystemFontOfSize:[UIFont smallSystemFontSize]];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
我也遇到过类似的问题。我不知道为什么会发生这种情况,但我已经解决了这个问题。请尝试以下代码:
#define IS_IOS_7_OR_LATER() ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
if (IS_IOS_7_OR_LATER())
{
backButton.imageEdgeInsets = UIEdgeInsetsMake(0, -30, 0, 0);
}
这应该对你有帮助。干杯 我也遇到过类似的问题。我不知道为什么会发生这种情况,但我已经解决了这个问题。请尝试以下代码:
#define IS_IOS_7_OR_LATER() ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
if (IS_IOS_7_OR_LATER())
{
backButton.imageEdgeInsets = UIEdgeInsetsMake(0, -30, 0, 0);
}
这应该对你有帮助。干杯 原因是什么
您可以使用LeftBarButtonims属性指定要显示在工具栏左侧的按钮和视图,但导航控制器仅在有可用空间时才显示这些按钮
所以你可以使用uibarbuttonite,这很容易解决。为什么要使用UIButton 你的按钮框应该换了
NSLog(@"button frame %@",NSStringFromCGRect(backButton.frame));
在iOS 6中
按钮框{5,43},{28,18}
在iOS 7中
按钮框{16,43},{28,18}原因是什么
您可以使用LeftBarButtonims属性指定要显示在工具栏左侧的按钮和视图,但导航控制器仅在有可用空间时才显示这些按钮
所以你可以使用uibarbuttonite,这很容易解决。为什么要使用UIButton 你的按钮框应该换了
NSLog(@"button frame %@",NSStringFromCGRect(backButton.frame));
在iOS 6中
按钮框{5,43},{28,18}
在iOS 7中
按钮框{16,43},{28,18}问题在哪里?@rckoenes查看两个菜单图标。位置有偏差,可以使用uibarbuttonite轻松解决。为什么要使用UIButton?问题在哪里?@rckoenes可以看到两个菜单图标。位置有偏差,可以使用uibarbuttonite轻松解决。为什么要使用UIButton请不要使用
systemVersion
检测iOS版本,而是使用Foundation版本if(floor(NSFoundationVersionNumber)谢谢,但是使用系统版本有什么问题吗?请检查我的答案,了解为什么会发生这样的情况:hanku这么多Shabib它真的有效:)@Shabib我在我的文章中写了一个“你永远不应该检查系统版本”。另外,苹果建议您使用系统版本检查的基础检查状态。请不要使用“代码>系统版本< /代码>检测IOS版本,但使用基础版本。code>if(floor(NSFoundationVersionNumber)谢谢,但是使用系统版本有什么问题吗?请检查我的答案,了解为什么会发生这样的情况:hanku这么多Shabib它真的有效:)@Shabib我在我的文章中写了一个“你永远不应该检查系统版本”。另外,苹果建议使用系统版本检查的基础检查状态。