右栏按钮项目不显示

2023-12-04

我有以下用于放置 rightbarbuttonitem 的代码

UIButton* rightbutton = [UIButton buttonWithType:UIButtonTypeCustom];
    [rightbutton setBackgroundImage:[UIImage imageNamed:@"share-icon.png"] forState:UIControlStateNormal];
    [rightbutton addTarget:self action:@selector(share:) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:rightbutton] autorelease];

但它没有显示任何栏按钮项目。相反,如果我使用以下代码,则会出现栏按钮项目,但问题是我无法在栏按钮项目上使用此代码设置触摸事件。

UIImageView *iconView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"dashboard-icon.png"]];
    UIBarButtonItem *icon = [[UIBarButtonItem alloc] initWithCustomView:iconView];
    self.navigationItem.leftBarButtonItem=icon;
    [icon release];
    [iconView release];

我的猜测是,你添加UIBarButtonItem找错对象了! 您需要将其添加到 rootViewController (而不是添加到UINavigationController,正如您可能所做的那样)

YourRootViewController *theRootController = [[YourRootViewController alloc] init];

UINavigationController* navContainer = [[UINavigationController alloc] initWithRootViewController:theRootController];

UIButton* rightbutton = [UIButton buttonWithType:UIButtonTypeCustom];
    [rightbutton setBackgroundImage:[UIImage imageNamed:@"share-icon.png"] forState:UIControlStateNormal];
    [rightbutton addTarget:self action:@selector(share:) forControlEvents:UIControlEventTouchUpInside];
 theRootController.navigationItem.rightBarButtonItem = rightbutton;

[navContainer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentModalViewController:navContainer animated:YES];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

右栏按钮项目不显示 的相关文章

随机推荐

  • AsyncStorage.getItem 返回未定义:React Native

    代码流程是 我正在检查是否有一个名为列表对象存在于异步存储中 如果它不存在 那么我创建一个对象 添加一些属性并设置存储 我让商店obj因为我接下来要比较if健康 状况 If the 列表对象条目已经存在 第2次 则直接来到第2个块 进行比较
  • 迭代变量如何只读?

    在 C 规范的 8 8 4 中 提供了以下示例 形式的 foreach 语句 foreach V v in x embedded statement 然后扩展为 E e C x GetEnumerator try V v while e M
  • 更改 Woocommerce 中购买产品的“添加到购物车”按钮

    我想做的是这样的 客户购买产品 它不会显示 添加到购物车 而是显示 查看数字产品 并具有指向特定页面的自定义链接 我正在查找 WooCommerce 的数据库 并试图弄清楚如何知道某个商品已被购买 以便我可以弄清楚如何让一个函数自动执行此操
  • 支持所有 Android 平板电脑分辨率

    我们公司的设计师希望我给他 Android 平板电脑的分辨率 以便他开始设计一个新的应用程序 我知道有很多不同的解决方案 此处列出 安卓平板电脑 我还知道 Android 对不同 dpi 的划分 ldpi mdpi 我的问题 我应该告诉设计
  • 如何更改CListCtrl列的颜色

    我想将特定列的背景颜色更改为对话框的颜色 灰色 我怎样才能实现它 void CUcsOpTerminalDlg OnCustomdrawFeatureList NMHDR pNMHDR LRESULT pResult LPNMCUSTOMD
  • 正则表达式 javascript 中仅排除 0

    我想创建一个正则表达式 它将采用一到十个数值 但如果只提供 0 则它不应该接受 例如 1 is valid input 1111123455 is valid input 01 is valid input 010 is valid inp
  • 如何使用 Java DeflaterOutputStream

    编辑 我真的只需要知道 Deflater 派生类何时决定写入页眉和页脚数据 以及如何利用这些事实 我真的很想做以下事情 用一些字节为 Deflater 派生类准备字典 我想我明白了 发送一些要压缩的数据到 Deflater 派生类 我想我明
  • 填充第二个选择框 - 绑定问题

    我使用以下代码用城市填充第二个选择框 jQuery country live change function populateCityListBox alert jQuery select city val function populat
  • Objective-C 从自定义单元格访问方法

    好吧 这可能是一个新手问题 但我需要帮助 我有一个 someview m 其中有一个在 customCell h 和 m 中定义的自定义单元格 所以在 someview m 我有 UITableViewCell tableView UITa
  • 如何在php中创建hmac md5?

    我正在使用 payU 信用卡系统 但我没办法 payU 告诉我必须创建 hmac md5 哈希值 我的密钥是 3 9 X4 660 ak h6 T 我想转换为 HMAC MD5 哈希 8GEMISEPE6208617192012 12 15
  • 创建文件夹并使 ES File Explorer 添加我的应用程序的图标

    我想将文件夹与我的应用程序关联起来 就像 WhatsApp 和 Viber 那样 我尝试创建文件夹 File folder new File Environment getExternalStorageDirectory getPath M
  • 注释可以出现在 DOCTYPE 声明之前吗?

    我想发表评论 style 位于 HTML 代码的最顶部 位于 DOCTYPE 声明之前 这符合标准吗 主流浏览器都支持吗 这样做有什么陷阱吗 It is 完全有效 to do However 带来allIE 版本怪癖模式 除非是forced
  • 如何避免 Xstream 生成带有 & 或 "e 或类似字符的 xml 文件?

    我开始工作Xstream与Java 我有一个名为的汽车列表CarList 我有一辆汽车作为一个名为Car XStream xstream new XStream new StaxDriver xstream alias Car Car cl
  • 使用 Rvest 抓取包含多个表的 URL

    我正在尝试学习如何做一些scraping使用 rvest 包 我正在用这个url加载信息 我试图获取 URL 中标记为 高级 的表的信息 当我尝试加载信息时 我所能得到的只是第一个表 我的意思是 当我使用谷歌浏览器检查时 我看到表中的数字被
  • 在 XSLT v1.0 中使用以结尾

    我正在尝试编辑当前的 XSLT 我想要的功能是当 code no 的值以01结尾时我想编辑当前城市位置 目前此功能不存在 我尝试过使用字符串和子字符串 但它给了我一个错误 说结尾功能不存在 请帮忙 来自 xml 的值是
  • 使 Android 模拟器适用于 1600x1200

    我尝试在模拟器中将 Android 的皮肤布局编辑为 1600x1200 但模拟器无法打开窗口 它适用于较小的分辨率 如 1024x480 等 但不适用于大分辨率 尽管即使使用 1024x480 模拟器窗口的一部分也无法访问且不可见 我的问
  • PHP 编码电子邮件地址

    我需要一条路PHP仅使用对电子邮件地址进行编码a zA Z0 9所以基本上编码时没有任何特殊字符 但随后能够将其解码回原始内容 Example email protected gt ENCODE gt n6bvJjdh7w6QbdVB373
  • NodeJS并行回调设计模式

    我正在尝试找到一个好的模式来执行一堆并行任务 让我定义一些任务来举例说明 任务a b c d e f g执行为a function er ra task a returned ra is result so do b to g 还有一些任务
  • Webpack 反应热加载程序不工作

    下面是我的 webpack config js 代码 var webpack require webpack var path require path module exports context dirname app entry we
  • 右栏按钮项目不显示

    我有以下用于放置 rightbarbuttonitem 的代码 UIButton rightbutton UIButton buttonWithType UIButtonTypeCustom rightbutton setBackgroun