菜鸟教程小白 发表于 2022-12-12 15:11:40

ios - UIBarbuttonItem 在 ios 7 上没有标题


                                            <p><p>我有一个应用程序,我正在迁移到 iOS 7。
但是,<code>UIBarbuttonItem</code> 没有标题,但工作正常。
这是我的代码:</p>

<pre><code>UIBarButtonItem * uibbShare = [[ initWithImage: style:UIBarButtonItemStylePlain target:self action:@selector(sharePressed:)] autorelease];
// uibbShare.width = 56.0;// uncommenting this doesn&#39;t change anything
uibbShare.title = @&#34;Share&#34;;
</code></pre>

<p>然后我将其中一些添加到工具栏中,并在它们之间添加一些灵活的空间项。</p>

<pre><code>...
;
;
...
</code></pre>

<p><code>;</code></p>

<p>在 iOS 7 上它们根本没有标题,在 iOS6 上一切正常。你不能再在 ios7 中创建这样的 barbuttons 了吗? </p>

<p><strong>更新</strong>开发论坛上的同样问题:</p>

<p> <a href="https://devforums.apple.com/message/872899#872899" rel="noreferrer noopener nofollow" title="Dev Forum link 1">UIBarButtonItem can&#39;t have both title and image?</a> </p>

<p> <a href="https://devforums.apple.com/message/867947#867947" rel="noreferrer noopener nofollow">What happened to the text under toolbar icons?</a> </p>

<p><strong>编辑</strong>:(7比6)</p>

<p> <img src="/image/4W0DT.png" alt="enter image description here"/> </p>

<p><strong>编辑 2</strong> :(一张来自 Reveal 的图片,似乎文字不见了,frame/bounds 为 0.wtf )</p>

<p> <img src="/image/BsBWb.png" alt="enter image description here"/> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>最终为 UIBarButtonItems 创建了自定义 View 。这不是很好,但它会暂时起作用。我只是将旧的 UIBarButtonItems 传递给该函数,该函数返回一个新的。</p>

<p>注意:如果有标题,我只是将按钮的图像上移并在下面添加一个简单的标签,实际上并没有弄乱 titleEdgeInsets 和 centering 。另外,我将宽度设置为默认的 56。</p>

<pre><code>-(UIBarButtonItem *)convertToButton:(UIBarButtonItem *)original
{
    if ( SYSTEM_VERSION_LESS_THAN(@&#34;7.0&#34;))
      returnoriginal;

    CGFloat textFieldHeight = 13.f;
    UIButton * button = ;
    button.frame = CGRectMake(0, 0, 56, self.toolbar.frame.size.height);
    button.showsTouchWhenHighlighted = YES;
    ;
    ;
    button.tag = original.tag;

    UIView * wr = [[ initWithFrame:CGRectMake(0, 0, 56, self.toolbar.frame.size.height)] autorelease];
    ;
    wr.backgroundColor = ;

    if (original.title != nil)
    {
      button.imageEdgeInsets = UIEdgeInsetsMake(-7, 0, 0, 0);
      UILabel * l = [[ initWithFrame:CGRectMake(0, self.toolbar.frame.size.height - textFieldHeight, 56, textFieldHeight)] autorelease];
      l.font = ;
      l.backgroundColor = ;
      l.textColor = ;
      l.textAlignment = UITextAlignmentCenter;
      l.text = original.title;
      ;
    }

    UIBarButtonItem * theNew = [[ initWithCustomView:wr] autorelease];
    theNew.tag = original.tag;
    theNew.width = 56;
    return theNew;

}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIBarbuttonItem 在 ios 7 上没有标题,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19134598/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19134598/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIBarbuttonItem 在 ios 7 上没有标题