相关疑难解决方法(0)

UINavigationBar UIBarButtonItems比所需的点击区域大得多

希望有人可以帮助我 - 我在网上搜索答案,但找不到 -

添加到UINavigationBar的UIBarButtonItem具有比所需更大的点击区域 - 例如,打开任何项目,你有一个带按钮的导航栏,点击按钮结尾和导航栏标题之间​​的任意位置 - 按钮点击,当你明显没有点击按钮时 -

也可以尝试这一点 - 点击导航栏下方,按钮下方,按钮点击导航栏下方约5个像素 -

我的问题是这个 -

我已经增加了一个自定义首部和按钮,用于一个tableview-但是当我点击标题中的按钮,所述按钮UINavigationBar的触发对那些5+像素代替按钮在tableview中报头 -

我做了一个测试,并从UINavigationBar中删除了按钮,有趣的是,对于导航栏下方的5个像素,即使导航栏中没有按钮,标题中的按钮也不会触发 -

它几乎像导航栏一样保留了低于其自身的5个像素作为点击空间 -

我的问题是这个 -

有人可以告诉我如何使导航栏没有为其按钮抓取额外的5+像素?

非常感谢 ;)

iphone uinavigationbar uibarbuttonitem

35
推荐指数
2
解决办法
9992
查看次数

UIButton作为UINavigationbar按钮

我有一个Tab栏应用程序.在其中一个标签栏中,我有一个导航控制器.我试图设置一个UIButton与图像作为导航栏的右键.

    UIButton *refreshButton = [[UIButton alloc] init];
    [refreshButton setImage:[UIImage imageNamed:@"refresh_icon.png"] forState:UIControlStateNormal];
    [refreshButton addTarget:self action:@selector(refreshSection) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithCustomView:refreshButton];
    //[rightButton setImage:[UIImage imageNamed:@"refresh_icon.png"]]; << DOESN'T WORK EITHER  
    self.navigationItem.rightBarButtonItem = rightButton;
    [refreshButton release];
    [rightButton release];
Run Code Online (Sandbox Code Playgroud)

但图像没有显示出来.我得到一个隐形按钮.

编辑: 我希望按钮样​​式为普通或背景为透明,以便只显示图像.因此我使用UI按钮而不是直接使用UIBarButton.

iphone xcode cocoa-touch uinavigationbar uibutton

7
推荐指数
1
解决办法
1万
查看次数

导航按钮点击外面

我创建了这样的自定义导航按钮:

  UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
  [button setImage:[UIImage imageNamed:@"some.png"] forState:UIControlStateNormal];
  ....
  [[current navigationItem] setLeftBarButtonItem:[[UIBarButtonItem alloc] initWithCustomView:button]];
Run Code Online (Sandbox Code Playgroud)

其中current是UIViewController*类型.一切正常,按钮创建,但它是按钮外的可点击区域,非常靠近导航栏的中间.是否可以限制可点击区域?

objective-c uinavigationbar

2
推荐指数
1
解决办法
856
查看次数