2013-08-26 3 views
0

Итак, я смог интегрировать этот плагин, который прекрасно работает, чтобы отображать PDF-файлы из заданного размера окна и обеспечивать прозрачность, но теперь я пытаюсь выяснить, как повернуть PDF. Я хочу добавить инструмент вращения (аналогично библиотеке фотографий в iOS), но не знаю, с чего начать. Я видел что-то о инструменте вращения изображений, но не был уверен, что он применим к файлу PDF, и я не хочу держать что-то, что не работает (например, используя iFrame вместо InAppBrowser для отображения PDF-файлов). Любая помощь очень ценится , Вот лишь пример того, как PDF призван дать вам некоторое представление.Поворот PDF из InAppBrowser

Это от HTML, чтобы назвать его открыть:

<button onclick="window.open('http://www.free.woodworking-plans.org/images/ranch-house-7161/ranch-house-floor-plan-o.jpg','_blank','vw=685,vh=650,vx=40,vy=40');">Change my size</button> 

А вот как открывается PDF (с Xcode CDVInAppBrowser.m)

- (void)openInInAppBrowser:(NSURL*)url withOptions:(NSString*)options 
{ 

    if (self.inAppBrowserViewController == nil) { 
     NSString* originalUA = [CDVUserAgentUtil originalUserAgent]; 
     self.inAppBrowserViewController = [[CDVInAppBrowserViewController alloc] initWithUserAgent:originalUA prevUserAgent:[self.commandDelegate userAgent]]; 
     self.inAppBrowserViewController.navigationDelegate = self; 

     if ([self.viewController conformsToProtocol:@protocol(CDVScreenOrientationDelegate)]) { 
      self.inAppBrowserViewController.orientationDelegate = (UIViewController <CDVScreenOrientationDelegate>*)self.viewController; 
     } 
    } 

    // set pointer to this viewcontroller for later use 
    iabvc = self.inAppBrowserViewController; 

    CDVInAppBrowserOptions* browserOptions = [CDVInAppBrowserOptions parseOptions:options]; 
    [self.inAppBrowserViewController showLocationBar:browserOptions.location]; 
    [self.inAppBrowserViewController showToolBar:browserOptions.toolbar]; 

....

- (id)initWithUserAgent:(NSString*)userAgent prevUserAgent:(NSString*)prevUserAgent 
{ 
    self = [super init]; 

    if (self != nil) { 
     _userAgent = userAgent; 
     _prevUserAgent = prevUserAgent; 
     _webViewDelegate = [[CDVWebViewDelegate alloc] initWithDelegate:self]; 

     [self createViews]; 
    } 

    return self; 
} 

И вот что выглядит секция инструментов,

self.toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, (self.view.bounds.size.height - TOOLBAR_HEIGHT), self.view.bounds.size.width, TOOLBAR_HEIGHT)]; 
    self.toolbar.alpha = 1.000; 
    self.toolbar.autoresizesSubviews = YES; 
    self.toolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; 
    self.toolbar.barStyle = UIBarStyleBlackOpaque; 
    self.toolbar.clearsContextBeforeDrawing = NO; 
    self.toolbar.clipsToBounds = NO; 
    self.toolbar.contentMode = UIViewContentModeScaleToFill; 
    self.toolbar.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); 
    self.toolbar.hidden = NO; 
    self.toolbar.multipleTouchEnabled = NO; 
    self.toolbar.opaque = NO; 
    self.toolbar.userInteractionEnabled = YES; 

ответ

0

Я создал кнопку поворота затем добавили эту ниже,

.h

//header - add 'int counter' 
@interface CDVInAppBrowserViewController : UIViewController <UIWebViewDelegate>{ 
@private 
    NSString* _userAgent; 
    NSString* _prevUserAgent; 
    NSInteger _userAgentLockToken; 
    CDVWebViewDelegate* _webViewDelegate; 
    int counter; 
} 

.m

//Add this to the top of the .m file 
#define DegreesToRadians(X) ((X) * M_PI/180.0) 

... 

//reference 
- (id)initWithUserAgent:(NSString*)userAgent prevUserAgent:(NSString*)prevUserAgent 
{ 
    counter = 0; 

... 

//create Rotate Button 
NSString* rotateString = @"Rotate"; 
self.RotateButton = [[UIBarButtonItem alloc] initWithTitle:rotateString style:UIBarButtonItemStylePlain target:self action:@selector(goRotate:)]; 
self.RotateButton.enabled = YES; 
self.RotateButton.imageInsets = UIEdgeInsetsZero; 

.... 

//action - sender 
-(IBAction)goRotate:(id)sender 
{   counter ++; float angle = (counter%3)*90; 
      [UIView beginAnimations:@"rotate" context:nil]; 
      [UIView setAnimationDuration:0.5]; 
      self.webView.transform = CGAffineTransformMakeRotation(DegreesToRadians(angle)); 
      [UIView commitAnimations]; 

} 
Смежные вопросы