AVCaptureSession Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Coordena uma sessão de gravação.
[Foundation.Register("AVCaptureSession", true)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.WatchOS, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)]
public class AVCaptureSession : Foundation.NSObject
type AVCaptureSession = class
inherit NSObject
- Herança
- Atributos
Comentários
O objeto AVCaptureSession coordena a gravação de entrada de áudio ou vídeo e passa as informações gravadas para um ou mais objetos de saída. Como a linha iOS avançou, diferentes dispositivos ganharam vários dispositivos de captura (em particular, ganharam várias câmeras). Os desenvolvedores de aplicativos podem usar DefaultDeviceWithMediaType(String) ou DevicesWithMediaType(String), passando as constantes definidas em AVMediaType.
A configuração da captura consiste em definir as Inputs propriedades e Outputs do AVCaptureSession. Observe que vários AVCaptureInputs e AVCaptureOutputs são possíveis. Por exemplo, para capturar áudio e vídeo, um usaria duas entradas de captura:
var session = new AVCaptureSession();
var camera = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video);
var mic = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Audio);
if(camera == null || mic == null){
throw new Exception("Can't find devices");
}
var cameraInput = AVCaptureDeviceInput.FromDevice (camera);
//info.plist _must_ contain NSMicrophoneUsageDescription key
var micInput = AVCaptureDeviceInput.FromDevice (mic);
if(session.CanAddInput(cameraInput)){
session.AddInput(cameraInput);
}
if(session.CanAddInput(micInput)){
session.AddInput(micInput);
}
Observe que a permissão para acessar o microfone (e em algumas regiões, a câmera) deve ser fornecida pelo usuário, exigindo que o desenvolvedor adicione o NSMicrophoneUsageDescription
ao arquivo info.plist do aplicativo.
O vídeo pode ser capturado diretamente no arquivo com AVCaptureMovieFileOutput. No entanto, essa classe não tem dados capazes de exibição e não pode ser usada simultaneamente com AVCaptureVideoDataOutput. Em vez disso, os desenvolvedores de aplicativos podem usá-lo em combinação com um AVCaptureVideoPreviewLayer, conforme mostrado no exemplo a seguir:
var layer = new AVCaptureVideoPreviewLayer (session);
layer.VideoGravity = AVLayerVideoGravity.ResizeAspectFill;
var cameraView = new UIView ();
cameraView.Layer.AddSublayer (layer);
var filePath = Path.Combine (Path.GetTempPath (), "temporary.mov");
var fileUrl = NSUrl.FromFilename (filePath);
var movieFileOutput = new AVCaptureMovieFileOutput ();
var recordingDelegate = new MyRecordingDelegate ();
session.AddOutput (movieFileOutput);
movieFileOutput.StartRecordingToOutputFile (fileUrl, recordingDelegate);
Os desenvolvedores de aplicativos devem observar que a função StopRecording() é assíncrona; os desenvolvedores devem aguardar até o FinishedRecording(AVCaptureFileOutput, NSUrl, NSObject[], NSError) método delegado antes de manipular o arquivo (por exemplo, antes de salvá-lo no álbum Fotos com SaveToPhotosAlbum(String, UIVideo+SaveStatus) ou WriteVideoToSavedPhotosAlbumAsync(NSUrl)).
public class MyRecordingDelegate : AVCaptureFileOutputRecordingDelegate
{
public override void FinishedRecording (AVCaptureFileOutput captureOutput, NSUrl outputFileUrl, NSObject [] connections, NSError error)
{
if (UIVideo.IsCompatibleWithSavedPhotosAlbum (outputFileUrl.Path))
{
var library = new ALAssetsLibrary ();
library.WriteVideoToSavedPhotosAlbum (outputFileUrl, (path, e2) =>
{
if (e2 != null)
{
new UIAlertView ("Error", e2.ToString (), null, "OK", null).Show ();
}
else
{
new UIAlertView ("Saved", "Saved to Photos", null, "OK", null).Show ();
File.Delete (outputFileUrl.Path);
}
});
}
else
{
new UIAlertView ("Incompatible", "Incompatible", null, "OK", null).Show ();
}
}
}
Os desenvolvedores de aplicativos podem configurar uma ou mais portas de saída para os dados capturados e elas ainda podem ser quadros, quadros de vídeo com informações de tempo, exemplos de áudio, arquivos de filme de tempo rápido ou podem ser renderizados diretamente em uma camada CoreAnimation.
Depois que os componentes de entrada e saída da sessão são definidos, o processamento real é iniciado chamando o StartRunning() método .
void SetupCapture ()
/ configure the capture session for low resolution, change this if your code
// can cope with more data or volume
session = new AVCaptureSession () {
SessionPreset = AVCaptureSession.PresetMedium
};
// create a device input and attach it to the session
var captureDevice = AVCaptureDevice.DefaultDeviceWithMediaType (AVMediaType.Video);
var input = AVCaptureDeviceInput.FromDevice (captureDevice);
if (input == null){
Console.WriteLine ("No video input device");
return false;
}
session.AddInput (input);
// create a VideoDataOutput and add it to the sesion
var output = new AVCaptureVideoDataOutput () {
VideoSettings = new AVVideoSettings (CVPixelFormatType.CV32BGRA),
// If you want to cap the frame rate at a given speed, in this sample: 15 frames per second
MinFrameDuration = new CMTime (1, 15)
};
// configure the output
queue = new MonoTouch.CoreFoundation.DispatchQueue ("myQueue");
outputRecorder = new OutputRecorder ();
output.SetSampleBufferDelegateAndQueue (outputRecorder, queue);
session.AddOutput (output);
session.StartRunning ();
}
public class OutputRecorder : AVCaptureVideoDataOutputSampleBufferDelegate {
public override void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection)
{
try {
var image = ImageFromSampleBuffer (sampleBuffer);
// Do something with the image, we just stuff it in our main view.
AppDelegate.ImageView.BeginInvokeOnMainThread (delegate {
AppDelegate.ImageView.Image = image;
});
//
// Although this looks innocent "Oh, he is just optimizing this case away"
// this is incredibly important to call on this callback, because the AVFoundation
// has a fixed number of buffers and if it runs out of free buffers, it will stop
// delivering frames.
//
sampleBuffer.Dispose ();
} catch (Exception e){
Console.WriteLine (e);
}
}
UIImage ImageFromSampleBuffer (CMSampleBuffer sampleBuffer)
{
// Get the CoreVideo image
using (var pixelBuffer = sampleBuffer.GetImageBuffer () as CVPixelBuffer){
// Lock the base address
pixelBuffer.Lock (0);
// Get the number of bytes per row for the pixel buffer
var baseAddress = pixelBuffer.BaseAddress;
int bytesPerRow = pixelBuffer.BytesPerRow;
int width = pixelBuffer.Width;
int height = pixelBuffer.Height;
var flags = CGBitmapFlags.PremultipliedFirst | CGBitmapFlags.ByteOrder32Little;
// Create a CGImage on the RGB colorspace from the configured parameter above
using (var cs = CGColorSpace.CreateDeviceRGB ())
using (var context = new CGBitmapContext (baseAddress,width, height, 8, bytesPerRow, cs, (CGImageAlphaInfo) flags))
using (var cgImage = context.ToImage ()){
pixelBuffer.Unlock (0);
return UIImage.FromImage (cgImage);
}
}
}
}
Construtores
AVCaptureSession() |
Construtor padrão que inicializa uma nova instância dessa classe sem parâmetros. |
AVCaptureSession(IntPtr) |
Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime. |
AVCaptureSession(NSObjectFlag) |
Construtor para chamar classes derivadas para ignorar a inicialização e apenas alocar o objeto. |
Propriedades
AutomaticallyConfiguresApplicationAudioSession |
Se o AVCaptureSession usa a sessão de áudio compartilhado do aplicativo. |
AutomaticallyConfiguresCaptureDeviceForWideColor |
Obtém ou define um valor booliano que controla se a sessão deve ou não usar a cor larga automaticamente se ela estiver disponível. |
Class |
Coordena uma sessão de gravação. (Herdado de NSObject) |
ClassHandle |
O identificador dessa classe. |
DebugDescription |
Uma descrição significativa do desenvolvedor desse objeto. (Herdado de NSObject) |
Description |
Descrição do objeto, a versão Objective-C do ToString. (Herdado de NSObject) |
DidStartRunningNotification |
Constante de notificação para DidStartRunning |
DidStopRunningNotification |
Constante de notificação para DidStopRunning |
ErrorKey |
Representa o valor associado à constante AVCaptureSessionErrorKey |
Handle |
Manipule (ponteiro) para a representação de objeto não gerenciado. (Herdado de NSObject) |
Inputs |
Entradas para a sessão de captura. |
Interrupted |
Se a sessão foi interrompida. |
InterruptionEndedNotification |
Constante de notificação para InterruptionEnded |
InterruptionReasonKey |
Obtém uma chave que acessa o motivo pelo qual uma sessão de captura foi interrompida. |
InterruptionSystemPressureStateKey |
Coordena uma sessão de gravação. |
IsDirectBinding |
Coordena uma sessão de gravação. (Herdado de NSObject) |
IsProxy |
Coordena uma sessão de gravação. (Herdado de NSObject) |
MasterClock |
Um relógio somente leitura que fornece uma base de tempo para sincronizar carimbos de data/hora de vários dispositivos de entrada. |
Outputs |
Saídas para a sessão de captura. |
Preset1280x720 |
Representa o valor associado à constante AVCaptureSessionPreset1280x720 |
Preset1920x1080 |
Representa o valor associado à constante AVCaptureSessionPreset1920x1080 |
Preset320x240 |
Coordena uma sessão de gravação. |
Preset352x288 |
Representa o valor associado à constante AVCaptureSessionPreset352x288 |
Preset3840x2160 |
Representa o valor associado à constante AVCaptureSessionPreset3840x2160. |
Preset640x480 |
Representa o valor associado à constante AVCaptureSessionPreset640x480 |
Preset960x540 |
Coordena uma sessão de gravação. |
PresetHigh |
Representa o valor associado à constante AVCaptureSessionPresetHigh |
PresetiFrame1280x720 |
Representa o valor associado à constante AVCaptureSessionPresetiFrame1280x720 |
PresetiFrame960x540 |
Representa o valor associado à constante AVCaptureSessionPresetiFrame960x540 |
PresetInputPriority |
Representa o valor associado à constante AVCaptureSessionPresetInputPriority |
PresetLow |
Representa o valor associado à constante AVCaptureSessionPresetLow |
PresetMedium |
Representa o valor associado à constante AVCaptureSessionPresetMedium |
PresetPhoto |
Representa o valor associado à constante AVCaptureSessionPresetPhoto |
RetainCount |
Retorna a contagem de retenção Objective-C atual para o objeto . (Herdado de NSObject) |
Running |
Se a sessão de captura está em execução no momento. |
RuntimeErrorNotification |
Constante de notificação para RuntimeError |
Self |
Coordena uma sessão de gravação. (Herdado de NSObject) |
SessionPreset |
A predefinição da sessão. |
Superclass |
Coordena uma sessão de gravação. (Herdado de NSObject) |
SuperHandle |
Identificador usado para representar os métodos na classe base para este NSObject. (Herdado de NSObject) |
UsesApplicationAudioSession |
Se a sessão deve usar a sessão de áudio compartilhado do aplicativo. |
WasInterruptedNotification |
Constante de notificação para WasInterrupted |
Zone |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Métodos
AddConnection(AVCaptureConnection) |
Adiciona a captura |
AddInput(AVCaptureInput) |
Adiciona uma entrada à Sessão de Captura |
AddInputWithNoConnections(AVCaptureInput) |
Adiciona o especificado |
AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr) |
Registra um objeto para ser observado externamente (usando NSString keyPath). As alterações observadas são enviadas para o método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) do observador. (Herdado de NSObject) |
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr) |
Registra um objeto para ser observado externamente (usando keyPath de cadeia de caracteres). As alterações observadas são enviadas para o método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) do observador. (Herdado de NSObject) |
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Registra um objeto para ser observado externamente usando um método arbitrário. (Herdado de NSObject) |
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Registra um objeto para ser observado externamente usando um método arbitrário. (Herdado de NSObject) |
AddOutput(AVCaptureOutput) |
Adiciona uma saída à sessão de captura. |
AddOutputWithNoConnections(AVCaptureOutput) |
Adiciona o especificado |
AwakeFromNib() |
Chamado depois que o objeto tiver sido carregado do arquivo nib. Os substituidores devem chamar base. AwakeFromNib(). (Herdado de NSObject) |
BeginConfiguration() |
Inicia uma transação para alterar a configuração da Sessão de Captura. |
BeginInvokeOnMainThread(Action) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
BeginInvokeOnMainThread(Selector, NSObject) |
Invoca de forma assíncrona o código especificado no thread principal da interface do usuário. (Herdado de NSObject) |
Bind(NSString, NSObject, String, NSDictionary) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Bind(String, NSObject, String, NSDictionary) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
BindingInfo(String) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
BindingOptionDescriptions(String) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
BindingValueClass(String) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
CanAddConnection(AVCaptureConnection) |
Retornará |
CanAddInput(AVCaptureInput) |
Retorna se a entrada fornecida pode ser adicionada à sessão. |
CanAddOutput(AVCaptureOutput) |
Retorna se a entrada fornecida pode ser adicionada à sessão. |
CanSetSessionPreset(NSString) |
Se a sessão dá suporte a um determinado conjunto de configurações de captura predefinidas. |
CommitConfiguration() |
Aplica atomicamente todas as alterações de configuração feitas na Sessão de Captura desde BeginConfiguration(). |
CommitEditing() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
CommitEditing(NSObject, Selector, IntPtr) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
ConformsToProtocol(IntPtr) |
Invocado para determinar se esse objeto implementa o protocolo especificado. (Herdado de NSObject) |
Copy() |
Executa uma cópia do objeto Objective-C subjacente. (Herdado de NSObject) |
DangerousAutorelease() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
DangerousRelease() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
DangerousRetain() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
DidChange(NSKeyValueChange, NSIndexSet, NSString) |
Indica que ocorreu uma alteração nos índices de uma relação para muitos. (Herdado de NSObject) |
DidChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
DidChangeValue(String) |
Indica que ocorreu uma alteração na chave especificada. (Herdado de NSObject) |
Dispose() |
Libera os recursos usados pelo objeto NSObject. (Herdado de NSObject) |
Dispose(Boolean) |
Libera os recursos usados pelo objeto NSObject. (Herdado de NSObject) |
DoesNotRecognizeSelector(Selector) |
Indica que esse objeto não reconhece o seletor especificado. (Herdado de NSObject) |
Equals(NSObject) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Equals(Object) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
ExposedBindings() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
GetBindingInfo(NSString) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
GetBindingOptionDescriptions(NSString) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
GetBindingValueClass(NSString) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
GetDictionaryOfValuesFromKeys(NSString[]) |
Recupera os valores das chaves especificadas. (Herdado de NSObject) |
GetHashCode() |
Gera um código hash para a instância atual. (Herdado de NSObject) |
GetMethodForSelector(Selector) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
GetNativeField(String) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
GetNativeHash() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Init() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
InitializeHandle(IntPtr) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
InitializeHandle(IntPtr, String) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Invoke(Action, Double) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Invoke(Action, TimeSpan) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
InvokeOnMainThread(Action) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
InvokeOnMainThread(Selector, NSObject) |
Invoca de forma síncrona o código especificado no thread principal da interface do usuário. (Herdado de NSObject) |
IsEqual(NSObject) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
IsKindOfClass(Class) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
IsMemberOfClass(Class) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
MarkDirty() |
Promove um objeto par regular (IsDirectBinding é true) em um objeto toggleref. (Herdado de NSObject) |
MutableCopy() |
Cria uma cópia mutável do NSObject especificado. (Herdado de NSObject) |
ObjectDidEndEditing(NSObject) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
ObserveValue(NSString, NSObject, NSDictionary, IntPtr) |
Indica que o valor no keyPath especificado em relação a esse objeto foi alterado. (Herdado de NSObject) |
PerformSelector(Selector) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
PerformSelector(Selector, NSObject) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
PerformSelector(Selector, NSObject, Double) |
Invoca o seletor na instância atual e, se o |
PerformSelector(Selector, NSObject, Double, NSString[]) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
PerformSelector(Selector, NSObject, NSObject) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[]) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
PrepareForInterfaceBuilder() |
Coordena uma sessão de gravação. (Herdado de NSObject) |
RemoveConnection(AVCaptureConnection) |
Remove o |
RemoveInput(AVCaptureInput) |
Remove a fonte de entrada especificada. |
RemoveObserver(NSObject, NSString) |
Impede que o observador especificado receba mais notificações de valores alterados para o keyPath especificado. (Herdado de NSObject) |
RemoveObserver(NSObject, NSString, IntPtr) |
Impede que o observador especificado receba notificações adicionais de valores alterados para o keyPath e o contexto especificados. (Herdado de NSObject) |
RemoveObserver(NSObject, String) |
Impede que o observador especificado receba mais notificações de valores alterados para o keyPath especificado. (Herdado de NSObject) |
RemoveObserver(NSObject, String, IntPtr) |
Impede que o observador especificado receba notificações adicionais de valores alterados para o keyPath e o contexto especificados. (Herdado de NSObject) |
RemoveOutput(AVCaptureOutput) |
Remove a saída especificada. |
RespondsToSelector(Selector) |
Se esse objeto reconhece o seletor especificado. (Herdado de NSObject) |
SetNativeField(String, NSObject) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
SetNilValueForKey(NSString) |
Define o valor da chave especificada como nulo. (Herdado de NSObject) |
SetValueForKey(NSObject, NSString) |
Define o valor da propriedade especificada pela chave como o valor especificado. (Herdado de NSObject) |
SetValueForKeyPath(IntPtr, NSString) |
Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime. (Herdado de NSObject) |
SetValueForKeyPath(NSObject, NSString) |
Define o valor de uma propriedade que pode ser alcançada usando um keypath. (Herdado de NSObject) |
SetValueForUndefinedKey(NSObject, NSString) |
Indica uma tentativa de gravar um valor em uma chave indefinida. Se não for substituído, gerará um NSUndefinedKeyException. (Herdado de NSObject) |
SetValuesForKeysWithDictionary(NSDictionary) |
Define os valores desse NSObject para aqueles no dicionário especificado. (Herdado de NSObject) |
StartRunning() |
Inicia o fluxo de entradas e saídas. |
StopRunning() |
Interrompe de forma assíncrona o fluxo de entradas e saídas. |
ToString() |
Retorna uma representação de cadeia de caracteres do valor da instância atual. (Herdado de NSObject) |
Unbind(NSString) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
Unbind(String) |
Obsoleto.
Coordena uma sessão de gravação. (Herdado de NSObject) |
ValueForKey(NSString) |
Retorna o valor da propriedade associada à chave especificada. (Herdado de NSObject) |
ValueForKeyPath(NSString) |
Retorna o valor de uma propriedade que pode ser alcançada usando um keypath. (Herdado de NSObject) |
ValueForUndefinedKey(NSString) |
Indica uma tentativa de ler um valor de uma chave indefinida. Se não for substituído, gerará um NSUndefinedKeyException. (Herdado de NSObject) |
WillChange(NSKeyValueChange, NSIndexSet, NSString) |
Indica que os valores dos índices especificados na chave especificada estão prestes a ser alterados. (Herdado de NSObject) |
WillChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Coordena uma sessão de gravação. (Herdado de NSObject) |
WillChangeValue(String) |
Indica que o valor da chave especificada está prestes a ser alterado. (Herdado de NSObject) |
Métodos de Extensão
ObjectDidBeginEditing(NSObject, INSEditor) |
Coordena uma sessão de gravação. |
ObjectDidEndEditing(NSObject, INSEditor) |
Coordena uma sessão de gravação. |
GetValidModes(NSObject, NSFontPanel) |
Coordena uma sessão de gravação. |
ValidateToolbarItem(NSObject, NSToolbarItem) |
Coordena uma sessão de gravação. |
GetDebugDescription(INSObjectProtocol) |
Coordena uma sessão de gravação. |
AcceptsPreviewPanelControl(NSObject, QLPreviewPanel) |
Coordena uma sessão de gravação. |
BeginPreviewPanelControl(NSObject, QLPreviewPanel) |
Coordena uma sessão de gravação. |
EndPreviewPanelControl(NSObject, QLPreviewPanel) |
Coordena uma sessão de gravação. |
GetAccessibilityCustomRotors(NSObject) |
Obtém a matriz de UIAccessibilityCustomRotor objetos apropriados para |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
Define a matriz de UIAccessibilityCustomRotor objetos apropriados para |