Controle seus itens de menu de anotação no PSPDFKit

Você pode controlar quais itens acabam no menu de anotações de sua instância PSPDFKit. Se você está criando subclasses, este é um bom lugar para começar:

- (void)commonInitWithDocument:(PSPDFDocument *)document
{
[super commonInitWithDocument:document];

self.createAnnotationMenuTypes = [NSSet setWithObjects:
PSPDFAnnotationStringSquare,
PSPDFAnnotationStringCircle,
PSPDFAnnotationStringPolygon,
PSPDFAnnotationStringPolyLine,
PSPDFAnnotationStringLine,
nil];
}

Você pode ajustar os tipos em qualquer ponto da vida do PDFViewController, seja uma subclasse ou não. Talvez você queira alterar a lista com base no que está sendo destacado. Experimente pdfViewController:shouldShowMenuItems:atSuggestedTargetRect:forSelectedText:inRect:onPageView:. Sério, enquanto o controlador estiver carregado enlouquecer.

Edit: Peter Steinberger (criador do PSPDFKit) me lembrou que você não precisa criar uma subclasse para editar esses valores. A cópia foi atualizada para refletir isso.

Para referência, aqui estão os tipos de anotação que você pode usar:

  • PSPDFAnnotationStringLink
  • PSPDFAnnotationStringHighlight
  • PSPDFAnnotationStringUnderline
  • PSPDFAnnotationStringSquiggly
  • PSPDFAnnotationStringStrikeOut
  • PSPDFAnnotationStringNote
  • PSPDFAnnotationStringCaret
  • PSPDFAnnotationStringFreeText
  • PSPDFAnnotationStringInk
  • PSPDFAnnotationStringSquare
  • PSPDFAnnotationStringCircle
  • PSPDFAnnotationStringLine
  • PSPDFAnnotationStringSignature
  • PSPDFAnnotationStringStamp
  • PSPDFAnnotationStringImage
  • PSPDFAnnotationStringWidget
  • PSPDFAnnotationStringFile
  • PSPDFAnnotationStringSound
  • PSPDFAnnotationStringPolygon
  • PSPDFAnnotationStringPolyLine
  • PSPDFAnnotationStringRichMedia
  • PSPDFAnnotationStringScreen
  • PSPDFAnnotationStringPopup