ios - iOS 7 部分导航返回项不可点击

标签 ios uinavigationcontroller

我的导航后退按钮有问题,最上面的按钮不可点击,只有一半(底部)可以点击。

这是它的屏幕截图:

enter image description here

我放了一个边框来知道按钮的大小,但唯一可点击的部分用黄线标记。

我也尝试过手动操作按钮但得到了相同的结果,这是我的代码:

UIImage *buttonImage = [UIImage imageNamed:@"arrow_back.png"];
navButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 30)];
[navButton setImage:buttonImage forState:UIControlStateNormal];
navButton.layer.borderWidth =1.0f;
[navButton addTarget:self action:@selector(backButton:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem * barItem = [[UIBarButtonItem alloc] initWithCustomView:navButton];
self.navigationController.navigationItem.leftBarButtonItem = barItem;

编辑:

当我删除代码(意味着我使用默认代码)时,可点击部分变为:

enter image description here

编辑:

为了更清楚,这里是父 View Controller 的代码(加载 View )

-(void) loadView{
scroll_flag = 0;
webService = [[WebServiceController alloc] init];
webService.webserviceDelegate = self;

secondTabView = [[SecondTabView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
secondTabView.secondTabViewDelegate = self;
self.view = secondTabView;
isDisplayed = NO;
x=0;

[secondTabView setupLayout];
self.navigationController.delegate = self;
self.edgesForExtendedLayout = UIRectEdgeNone;


dictTrap = [[NSMutableArray alloc] init];
secondTabView.tableView.delegate = self;
secondTabView.tableView.dataSource = self;
mapView.delegate = self;
}

这是我在推送 View Controller 中的代码:

secondTabNextController = [[SecondTabNextViewController alloc] init];
[self.navigationController pushViewController:secondTabNextController animated:YES];

以及包含后退按钮的 Controller 代码

-(void) loadView {
secondTabNextView = [[SeconTabNextView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
secondTabNextView.secondTabNextDelegate = self;
self.view = secondTabNextView;
heartVal = 0;
commentVal = 0;
[secondTabNextView setupLayout];
webService = [[WebServiceController alloc] init];
webService.webserviceDelegate = self;
dateTimeArray = [[NSMutableDictionary alloc] init];

secondTabNextView.contentScrollView.delegate = self;
self.navigationController.delegate = self;
self.pageControl = [[UIPageControl alloc] init] ;
self.pageControl.frame = CGRectMake(110,385,100,20);
self.pageControl.currentPage = 0;
self.pageControl.hidden = YES;
[self.pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:self.pageControl];
pageControl.pageIndicatorTintColor = [UIColor redColor];
feedsArray = [[NSMutableArray alloc] init];

UIButton * theView = [[UIButton alloc] initWithFrame:CGRectMake(0,0, self.view.frame.size.width, 46)];
[self addViewToTab: loginController.tab :theView];
[theView bringSubviewToFront:self.view];
[self.tabBarController.view addSubview:theView];

btnHeart = [UIButton buttonWithType:UIButtonTypeCustom];
[btnHeart setImage:[UIImage imageNamed:@"heart_gray.png"] forState:UIControlStateNormal];
[self addHeartButton:self.tabBarController :btnHeart];
[self.tabBarController.view addSubview:btnHeart];

btnComment = [UIButton buttonWithType:UIButtonTypeCustom];
[self addCommentButton:self.tabBarController :btnComment];
[self.tabBarController.view addSubview:btnComment];
}

我已经删除了代码并使用默认值。

最佳答案

在此处添加新按钮似乎是一种非常奇怪的方式。我从来没有遇到过这个特殊问题,但我知道你不应该把按钮放在离导航栏底部(下面)太近的地方,因为导航栏会“拦截”触摸,所以当你添加时这可能是一个类似的问题一个 UIButton 作为 subview 。

无论如何,UINavigationItem 有一个 leftBarButtonItem 属性,为什么不使用它呢?

这样的事情怎么样:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"arrow_back.png"] style:UIBarButtonItemStylePlain target:self action:@selector(backButton:)];

关于ios - iOS 7 部分导航返回项不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582725/

相关文章:

ios - 导航栏在第二次和后续出现时隐藏在 View Controller 上

iphone - 新的 UIView 未加载

ios - 如何将导航 Controller 添加到不是主视图的 View ?

ios - AFNetworking 从响应中删除字符

iOS 每 5 分钟检查一次

ios - UINavigationController pushviewcontroller 内存管理

iOS:如何获取指向导航 Controller 的指针

ios - 如何强制文本字段开始编辑?

iOS:自动布局动态数量的项目

ios - 在图表的 XAxis 上显示三个标签