• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - LeftBarButtonItem 有两个按钮。一键不响应点击

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:06:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

所以我在 leftBarButtonItem 中有两个按钮。这是我的代码。

NSString *todayString = @"...";
UIBarButtonItem *todayButton = [[[UIBarButtonItem alloc] initWithTitle:todayString style:UIBarButtonItemStyleBordered target:self.calendarController actionselector(todaySelected)] autorelease];

NSString *weeklyString = @"...";
UIBarButtonItem *weeklyButton = [[[UIBarButtonItem alloc] initWithTitle:weeklyString style:UIBarButtonItemStyleBordered target:self actionselector(weekSelected)] autorelease];
UIToolbar *toolbar = [[[UIToolbar alloc] init] autorelease];

[toolbar setItems:[NSArray arrayWithObjects:todayButton, weeklyButton, nil]];

self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:toolbar] autorelease];

按钮的标题是动态的。有时标题可能会有点长。按钮展开并且看起来不错。但是,如果标题过长,UIToolbar 似乎会达到某个最大宽度,因为按钮在某个 X 点停止响应点击。 See image here

绿色表示响应触摸,红色表示不响应触摸。今天按钮响应触摸。然而,每周按钮仅在第二个“e”之前响应触摸。之后的任何内容都不会响应触摸。

一段时间以来,我一直在努力解决这个问题,但没有运气。我尝试扩展 UIToolbar 和 leftBarButtonItem 的框架。有谁知道发生了什么?提前致谢



Best Answer-推荐答案


您的工具栏框架宽度可能太窄。在您的代码中,您甚至没有设置它的大小,而是依靠它来为您调整大小。尝试将其设置为更大的宽度,并确保 autoresizingMask 没有设置 `UIViewAutoresizingFlexibleWidth'。

一个好的调试技术是将新工具栏的背景颜色设置为明亮的颜色(与您正在安装它的工具栏形成对比),并观察其大小以了解您的按钮在交互方面是如何被剪裁的。

如果将其固定到某个宽度对您的应用来说过于严格,您可能需要在更新栏按钮项目标题时显式调整其大小。

关于ios - LeftBarButtonItem 有两个按钮。一键不响应点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8361572/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap