菜鸟教程小白 发表于 2022-12-13 10:06:12

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


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

<pre><code>NSString *todayString = @&#34;...&#34;;
UIBarButtonItem *todayButton = [[ initWithTitle:todayString style:UIBarButtonItemStyleBordered target:self.calendarController action:@selector(todaySelected)] autorelease];

NSString *weeklyString = @&#34;...&#34;;
UIBarButtonItem *weeklyButton = [[ initWithTitle:weeklyString style:UIBarButtonItemStyleBordered target:self action:@selector(weekSelected)] autorelease];
UIToolbar *toolbar = [[ init] autorelease];

];

self.navigationItem.leftBarButtonItem = [[ initWithCustomView:toolbar] autorelease];
</code></pre>

<p>按钮的标题是动态的。有时标题可能会有点长。按钮展开并且看起来不错。但是,如果标题过长,UIToolbar 似乎会达到某个最大宽度,因为按钮在某个 X 点停止响应点击。 <a href="http://i.stack.imgur.com/YPY1j.png" rel="noreferrer noopener nofollow">See image here</a> </p>

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

<p>一段时间以来,我一直在努力解决这个问题,但没有运气。我尝试扩展 UIToolbar 和 leftBarButtonItem 的框架。有谁知道发生了什么?提前致谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您的工具栏框架宽度可能太窄。在您的代码中,您甚至没有设置它的大小,而是依靠它来为您调整大小。尝试将其设置为更大的宽度,并确保 <code>autoresizingMask</code> 没有设置 `UIViewAutoresizingFlexibleWidth'。 </p>

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

<p>如果将其固定到某个宽度对您的应用来说过于严格,您可能需要在更新栏按钮项目标题时显式调整其大小。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - LeftBarButtonItem 有两个按钮。一键不响应点击,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8361572/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8361572/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - LeftBarButtonItem 有两个按钮。一键不响应点击