所以我在 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-推荐答案 strong>
您的工具栏框架宽度可能太窄。在您的代码中,您甚至没有设置它的大小,而是依靠它来为您调整大小。尝试将其设置为更大的宽度,并确保 autoresizingMask 没有设置 `UIViewAutoresizingFlexibleWidth'。
一个好的调试技术是将新工具栏的背景颜色设置为明亮的颜色(与您正在安装它的工具栏形成对比),并观察其大小以了解您的按钮在交互方面是如何被剪裁的。
如果将其固定到某个宽度对您的应用来说过于严格,您可能需要在更新栏按钮项目标题时显式调整其大小。
关于ios - LeftBarButtonItem 有两个按钮。一键不响应点击,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8361572/
|