我正在开发具有可访问性支持的 iOS 应用程序。在我的应用程序流程中的某个时刻,我呈现了一个警报视图。呈现视图后,我想专注于使用 UIAccessibilityPostNotification 的视图,但是通知似乎被覆盖了。
[alertView show];
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,alertView.somesubView);
但是我看不到此通知的效果。可访问性焦点转到背景中的某个其他视图对象。
但是,当我以 0 延迟使用 dispatch_after 时,它可以工作
[alertView show];
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW,0 * NSEC_PER_SEC);
dispatch_after(delay,dispatch_get_main_queue(), ^void(){
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,alertView.somesubView);
});
有人可以解释是什么原因吗?