Xcode - 如何制作弹出菜单[重复]

2023-11-23

我想在 Xcode 中制作一个弹出菜单。我该怎么做?我希望它看起来漂亮又专业。


以下是使用 UIActionSheet 在 UITextView 中显示弹出菜单以响应长按附件的示例。

- (void)attachmentActionSheet:(UITextView *)textView range:(NSRange)range {

    // get the rect for the selected attachment (if its a big image with top not visible the action sheet
    // will be positioned above the top limit of the UITextView
    // Need to add code to adjust for this.
    CGRect attachmentRect = [self frameOfTextRange:range inTextView:textView];

      _attachmentMenuSheet = [[UIActionSheet alloc] initWithTitle:nil
                                                           delegate:self
                                                  cancelButtonTitle:@"Cancel"
                                             destructiveButtonTitle:nil
                                                  otherButtonTitles:@"Copy Image", @"Save to Camera Roll", @"Open in Viewer", nil];

    // Show the sheet
    [_attachmentMenuSheet showFromRect:attachmentRect inView:textView animated:YES];
}

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (actionSheet == _attachmentMenuSheet) {
        //FLOG(@"Button %d", buttonIndex);
        switch (buttonIndex) {

            case 0:
                //FLOG(@" Copy Image");
                [self copyImageToPasteBoard:[_attachment image]];
                break;

            case 1:
                //FLOG(@"  Save to Camera Roll");
                [self saveToCameraRoll:[_attachment image]];
                break;

            case 2:
                //FLOG(@"  Open in Viewer");
                [self browseImage:[_attachment image]];
                break;

            default:
                break;
        }
    }
}

这就是它在 iPad 和 iPhone (iOS7) 上的样子

enter image description here

enter image description here

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

Xcode - 如何制作弹出菜单[重复] 的相关文章

随机推荐

  • Delphi SAPI 文本转语音

    首先 这不是重复的德尔福和SAPI 我对 SAPI in Delphi 主题有一个具体问题 我使用了 Delphi 2009 中出色的导入类型库指南来在组件选项板中获取 TspVoice 组件 这很好用 和 var SpVoice TSpV
  • 如何将方法标记为强制方法?

    假设您使用构建器模式创建一个名为 Person 的类 并假设该 Builder 类包含方法body head arms 而且当然build 然后你考虑方法head and build 该类的用户必须这样做 我们希望以某种方式将这些方法标记为
  • Internet Explorer 在查询字符串中存在特殊字符问题

    这不是一个new问题 这里有很多关于 IE 在处理查询字符串中的特殊字符时遇到问题的问题 在所有情况下都是相同的 Chrome Firefox Safari 每个 都可以正确处理 UTF 8 编码的 URL 几乎所有这些甚至都可以处理 IR
  • (x:_) 和 [x:_] 是什么意思?

    head a gt a head error No head for empty lists head x x head a gt a head xs case xs of gt error No head for empty lists
  • 获取监视器的名称

    我在使用 winapi 检索监视器的名称时遇到了一些麻烦 根据 stackoverflow 上的其他条目 获取监视器名称的正确方法是 EnumDisplayDevices nullptr 0 oDisplayDevice 0 char lp
  • Haskell 类型让简单的“平均”函数令人沮丧

    我正在尝试初学者 Haskell 我想编写一个平均函数 这似乎是世界上最简单的事情 对吧 Wrong 看起来 Haskell 的类型系统禁止平均值处理通用数字类型 我可以让它处理积分列表或分数列表 但不能同时处理两者 I want aver
  • HTML5 Canvas + 下标和上标

    我想在画布中填充文本作为下标和上标选项 我该如何实现这一目标 请帮忙 由于您不允许在以下位置使用 HTMLdrawText你不能使用
  • 终端 ANSI 颜色不适用于 Inline::Perl5 (Data::Printer)

    以下 Perl 5 脚本 use strict use warnings use Data Printer my a 1 2 3 4 p a 给出输出 注意蓝色 而这个 Perl 6 脚本 use Data Printer from
  • 如果在 Crystal Reports 中重复则抑制字段的公式

    我有一个视图 显示水晶报告上的数据 其中有关税 租金 份额 毛额和净额等字段 我的问题是 如果有人更改数据库中的关税 它会显示 2 行具有不同关税的相同记录 这是正常的从数据库的角度来看 这是一种行为 但如果相同的 ID 具有不同的费率或租
  • Xamarin 中的“XamlCTask”任务意外失败

    我目前在构建 Xamarin Forms 解决方案时遇到问题 我收到一个错误The XamlCTask task failed unexpectedly 我尝试查看 Xamarin 日志和 Stacktrace 但我似乎找不到问题所在 有什
  • makefile 中的 patsubst

    我必须使用不同的 CFLAGS 从同一组 c 创建不同的 o 文件 我想使用 patsubst 从相同的 c 生成不同的 o 文件 我在下面的语句中做错了 请帮忙 我想从同一组 c 源文件生成一组具有 CC CFLAGS 02 c lt o
  • 平台默认字符编码如何影响跨平台性能

    我读过 例如在读取文本文件并将文本导入数组等时使用平台默认字符编码是个坏主意 您能否解释一下这将如何影响跨平台性能 以及如何解决该问题 是否有应该用于跨平台应用程序的编码 谢谢 这与性能无关 而是与显示和读取正确编码的文本有关 有多种方法可
  • setText 不将文本设置为 EditText

    我遇到了一个问题 这是我在近三年的 Android 开发过程中从未遇到过的问题 我想拍照 拍照后EditText活动的内容变得清晰 我正在做的是设置的值EditText to Strings using getText toString 拍
  • \c 中的 377 个字符

    我正在尝试读取 c 中的文件 我有一个 txt 文件 它的内容如下 文件一 txt 文件二 txt 文件三 txt 文件四 txt 当我尝试使用 fopen 读取此文件时 我得到以下输出 文件一 txt 文件二 txt 文件三 txt 文件
  • PyCharm - OS X 上的 $PATH

    我需要在 PyCharm 中调试一个 py 脚本 该脚本使用 unix 二进制文件 如 which grep 等 如果我从终端 bash 启动 py 脚本 则会找到 unix 二进制文件并且所有工作都按预期进行 如果我从 PyCharm 调
  • 如何获取 jpg 文件的深度?

    我想使用 Python 检索 jpeg 文件的位深度 使用 Python 图像库 import Image data Image open file jpg print data depth 然而 对于明显的 24 位图像 这给了我 8 的
  • 如何在 OS X 10.6 上构建 64 位 Python —— 只有 64 位,没有通用的废话

    我只是想在我的开发机器上构建这个 来自 Python org 的二进制安装仍然是 32 位 安装扩展 例如 MySQLdb 让我发疯 试图找出每个扩展的正确标志 澄清 我没有替换系统 Python 我只是将 Python org 二进制文件
  • 阻止通过 http 直接访问文件,但允许 php 脚本访问

    我正在将文件 pdf doc flv 等 加载到缓冲区中 并通过脚本将它们提供给我的用户 我需要我的脚本能够访问该文件 但不允许直接访问它 实现这一目标的最佳方法是什么 我应该使用我的权限执行某些操作还是使用 htaccess 锁定目录 最
  • 是否可以对SVN中存储的内容进行加密?

    如果我将源代码存储在共享托管公司的 SVN 中 是否可以对内容进行加密 这样即使有人有权访问该存储库 他们也无法在普通视图中看到源代码 有这个插件吗 否则我想自己实现这个会很疯狂 这里的正确答案是 找到您信任的托管提供商 如果存在监管问题
  • Xcode - 如何制作弹出菜单[重复]

    这个问题在这里已经有答案了 我想在 Xcode 中制作一个弹出菜单 我该怎么做 我希望它看起来漂亮又专业 以下是使用 UIActionSheet 在 UITextView 中显示弹出菜单以响应长按附件的示例 void attachmentA