gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:17:48 26 4
gpt4 key购买 nike

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

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

NSString *weeklyString = @"...";
UIBarButtonItem *weeklyButton = [[[UIBarButtonItem alloc] initWithTitle:weeklyString style:UIBarButtonItemStyleBordered target:self action:@selector(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

绿色代表对触摸有反应,红色代表对触摸没有反应。今天按钮响应触摸。然而,Weekly 按钮仅在第二个“e”之前响应触摸。之后的任何内容都不会响应触摸。

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

最佳答案

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

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

如果将其固定为特定宽度对您的应用来说限制太大,您可能需要在更新栏按钮项目标题时明确调整其大小。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com