- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在以编程方式为 iOS 构建 UINavigationContoller
,但在使其完全可访问时遇到了问题。在 loadView
中,我创建了主要的 UIView
并将其设置为不可访问:
- (void)loadView
{
CGRect viewRect = [[UIScreen mainScreen] applicationFrame];
UIView *tmp = [[UIView alloc] initWithFrame:viewRect];
[tmp setIsAccessibilityElement:NO];
然后我添加仅包含背景图像的附加 UIViews
并将它们设置为不可访问。所有 View 和控件都添加到上面创建的“tmp”UIView
中。这是一个“背景” View 示例:
UIImage* microphone = [UIImage imageNamed:@"microphone.jpg"];
UIView* microphoneView = [[[UIView alloc] initWithFrame: CGRectMake(0,0,viewRect.size.width, microphone.size.height)] autorelease];
[microphoneView setBackgroundColor:[UIColor colorWithPatternImage:microphone]];
[microphoneView setIsAccessibilityElement:NO];
[tmp addSubview:microphoneView];
最后,我添加了一个 UIButton
、UILabel
和 UIButtonBarItem
。我最后添加这些,以便它们位于 View 层次结构的顶部。我为它们添加了可访问性标签和特征。这是 UIButton
:
self.recordImage = [UIImage imageNamed: @"record_button.png"];
self.stopRecordImage = [UIImage imageNamed: @"stop_button.png"];
self.recordButton.accessibilityTraits |= UIAccessibilityTraitStartsMediaSession;
self.recordButton = [[UIButton alloc ] initWithFrame: CGRectMake((viewRect.size.width - recordImage.size.width)/2 , (microphone.size.height + (grayBkg.size.height - recordImage.size.height)/2), recordImage.size.width, recordImage.size.height)];
[self.recordButton setIsAccessibilityElement:YES];
[self.recordButton setAccessibilityLabel: @"toggle recording start"];
[self.recordButton setImage: recordImage forState:UIControlStateNormal];
[self.recordButton addTarget: self action:@selector(processButton:) forControlEvents:UIControlEventTouchUpInside];
[tmp addSubview:recordButton];
最后
....
[self setView:tmp];
[tmp release];
我调用了 UIAccessibilityPostNotification
(UIAccessibilityScreenChangedNotification
, nil);当我将此 View 插入堆栈时。
打开画外音后,当显示 View 时,我可以滑动并提供我的每个元素(UIButtonBarItem
、UILabel
和 UIButton
) 焦点,我可以通过双击激活它们。但是,VoiceOver 不会说出有关这些元素的信息。使用辅助功能检查器在模拟器中进行测试会显示我通过 aControl.accessibilityLabel = @"the label"; 设置的标签;
此 View 用于录制音频。如果我激活按钮并录制音频并停止录制,VoiceOver 现在会在我聚焦元素时说出元素的标签?为什么在 View 首次加载时 VoiceOver 不说出信息?任何线索表示赞赏!
我正在装有 iOS 4.3.3 的 iPad 2 上进行测试。
最佳答案
如果您希望您的 View 不可访问,请使用:
[microphoneView setUserInteractionEnabled:NO];
关于iphone - 使程序化的 iOS UIView 完全可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332708/
我是一名长期开发人员,但对 DNS 的经验并不丰富。这是我的问题: 我们的应用程序在 Amazon EC2 上为客户启动服务器。一个客户希望为每台启动的服务器使用自定义 DNS,而不是 AWS 提供的
我正在尝试以编程方式添加几个从 TextViews 扩展到 RelativeLayout 的 Tiles。 我的代码如下。 RelativeLayout.LayoutParams params = n
如果我在黑莓 (5.0.0) 上的电话应用程序中输入电话号码,我可以点击菜单按钮,其中一个选项是“添加到联系人”,这将显示添加联系人屏幕,电话号码已经人口稠密。我想在我的应用程序中做同样的事情 - 调
我试图将 Android XML 的外观与以编程方式创建它的方式关联起来,但我惨遭失败。我读过几个引用资料,指出 View 的 LayoutParams 类型必须等于父级的类型,但我只是不理解它。 给
我正在尝试创建 Joda 2.2 DateTimeFormatter 来重构我的代码。我试图重现的行为是 private String getSemesterLabel() { StringB
我几乎所有的用户界面都是以编程方式完成的,并在 Interface Builder 中进行了轻微的修改。但是 99% 的 UI 完全是用代码完成的,因为我觉得通过以下方式可以获得一定程度的灵 acti
我正在尝试学习如何以编程方式创建不同的 UI 元素。我的 UITableView 面临以下问题.. 我有 2 个 .swift 文件,一方面,我们有.. struct Settings
我想使用ONLY编程语法创建页面布局,但我无法将带有左、中、右内容 Pane 的边框容器插入到主 Pane 的顶部 Pane 中布局(底部布局也是如此)。 每次我尝试使用内容 Pane 作为父级时,都
我需要一些指示从哪里开始: 从任何使用 ALSA 播放音频的应用程序到连接的扬声器,我想获取样本并进行一些音频处理。我无法控制播放器,我希望能够处理来自任何来源的音频。基本上它将是一个 UV 计,也许
我想以编程方式(因为文件路径是在运行时生成的)为 SQL 语句创建一个单独的日志文件。我的代码看起来像这样 public static void InitializeLogger(FileInfo
如何以编程方式关闭嵌入式 jetty 服务器? 我这样启动 jetty 服务器: Server server = new Server(8090); ... server.start(); serve
我有一个派生自 QGraphicsView 的自定义类,它实现了一个插槽调用 scrollHorizontal(int dx),里面的代码很简单 void CustomView::scrollHo
我正在尝试了解在 ios 中布局 UI 的最佳实践。具体来说,我试图了解以下优点/缺点:纯编程 UI、 Storyboard和 XIB,以及 ios 6.0+ 中的自动布局。 我已经习惯了纯程序化 U
我正在尝试做类似于提出此问题的用户正在尝试做的事情: HTTPS Request From a Credential Provider DLL 关于用户个人资料的组成部分,我找到了this . Win
所以我试图为一些布局约束设置动画,但运气很差,我什么也没看到,然后我收到一条错误消息,说明它如何不能同时满足所有约束等。 我正在使用一个名为 PullableView 的类谁的动画用的是旧风格[UIV
我有大量的 Python 代码,需要对其施加符合 pep8 的样式/格式。 pep8 有各种规则的变体(如 this one by a coworker ),但最难的是处理分割太长的行和格式化修改后的
我试图让 ZeroClipboard API 工作,但看起来 setText() 函数没有效果。 提供简单示例 > here Copy to Clipboard ZeroClipboa
假设我有一个这样的错误应用程序: using System; namespace ConsoleApplication1 { class Program { stati
我是 Android 开发的新手,但遇到以下问题。我正在尝试以编程方式创建多个 ImageView 并使用 Picasso 加载图像,但我无意中发现了以下问题。 编辑:我想要实现的是我希望使用 wid
我需要以编程方式将 RDP 连接到虚拟机 (XP SP3/.NET3.5/VS 2008),(凭据已保存在 .rdp 文件中)并进行 UI 自动化测试。由于我们的域安全性,我需要以编程方式对交互式登录
我是一名优秀的程序员,十分优秀!