簡體   English   中英

BarButton項目在單擊導航欄時正在獲取事件

[英]BarButton Items are getting events while clicking on navigation bar

我在導航欄(自定義導航控制器)中添加自定義后退按鈕,如下所示:-

UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"goback.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(handleBackButtonClick) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 32, 32)];//same as image width and height
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

當我單擊靠近條形按鈕項目(左右)時,條形按鈕正在發生觸摸事件。

我想防止這種奇怪的行為。

我正在為iOS7開發應用程序。

我嘗試調整barButtonItem的width屬性,但是沒有運氣。

    self.navigationItem.leftBarButtonItem.width = 32;

但我有一個有趣的解決方案,

您可以在自定義視圖中使用兩個按鈕,一個用於實現所需的方法,另一個用於虛擬按鈕

UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];

[button setImage:[UIImage imageNamed:@"goBack.png"] forState:UIControlStateNormal];

[button addTarget:self action:@selector(handleBackButtonClick) forControlEvents:UIControlEventTouchUpInside];

[button setFrame:CGRectMake(0, 0, 32, 32)];//same as image width and height

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:button];

UIButton *dummyButton = [UIButton buttonWithType:UIButtonTypeCustom];

UIBarButtonItem *dummyBarButton = [[UIBarButtonItem alloc] initWithCustomView:dummyButton];

self.navigationItem.leftBarButtonItems = @[barButton,dummyBarButton];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM