Mavericks中的PDFView不会“自动缩放”,并且始终显示滚动条

Sunkas

我正在创建OSX PDF查看器应用程序。底部有一个水平滚动条,因此用户可以轻松地在页面之间滚动。滚动时,会有一个小的预览窗口,显示该页面的预览。在OSX 10.7和10.8上,此方法工作正常,但在Mavericks 10.9中,“自动缩放”选项似乎确实失去了效果。还有一个滚动条(即使将比例设置为不需要滚动条的值)。

关于如何解决这个问题的任何想法?

OSX 10.7和10.8:

OSX 10.7和10.8

OSX小牛:

OSX小牛

设置视图的代码:

- (void)awakeFromNib
{
    [super awakeFromNib];

    [_pdfView setAutoScales:YES];
    [_pdfView setDisplayMode:kPDFDisplayTwoUp];
    [_pdfView setDisplaysPageBreaks:NO];
    [self setWantsLayer:YES];
}

- (void)drawRect:(NSRect)dirtyRect
{
    [super drawRect:dirtyRect];

    CGContextRef context = (CGContextRef) [[NSGraphicsContext currentContext] graphicsPort];
    CGContextSetRGBFillColor(context, 0.227,0.251,0.337,0.8);
    CGContextFillRect(context, NSRectToCGRect(dirtyRect));
}

来自的视图结构po [self.previewView _subtreeDescription]

$0 = 0x0000000113dcd280 [   A     WLU#] h=&-& v=--& IBPreviewView 0x119554760 f=(730.097,47,300,200) b=(-) => <_NSViewBackingLayer: 0x110a5b800> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
  [      O  WlU ] h=-&- v=-&- PDFView 0x104cb9c20 f=(10,60,280,130) b=(-) => <_NSViewBackingLayer: 0x114e311a0> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
    [   AF O  wlU ] h=--- v=--- PDFViewScrollView 0x110a36c60 f=(0,0,280,130) b=(-) => <_NSViewBackingLayer: 0x110a374a0> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
      [   AF O  wlU ] h=--- v=--- PDFCenteringClipView 0x110a2ba30 f=(0,0,265,130) b=(0.5,0,-,-) => <_NSClipViewBackingLayer: 0x110a42b70> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
        [   AF O  WLU ] h=--- v=--- PDFMatteView 0x110a28730 f=(0,0,980,683) b=(-) => <_NSViewBackingLayer: 0x110a3b600> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
          [   A      LU ] h=--- v=--- PDFDisplayView 0x114e309b0 f=(0,0,980,683) b=(-) TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
      [   AF    wlU ] h=--- v=--- NSScroller 0x100766e50 f=(265,0,15,130) b=(-) => <_NSViewBackingLayer: 0x100766e20> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
  [   AF    wlU ] h=-&- v=-&- NSTextField 0x104c87110 f=(7,27,286,25) b=(-) => <_NSViewBackingLayer: 0x110a5b910> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
  [   AF    wlU ] h=-&- v=-&- NSTextField 0x110a2ef60 "76 av 152" f=(89,0,115,25) b=(-) => <_NSViewBackingLayer: 0x110a5b970> TIME drawRect: min/mean/max 0.00/0.00/0.00 ms
A=autoresizesSubviews, C=canDrawConcurrently, D=needsDisplay, F=flipped, G=gstate, H=hidden (h=by ancestor), L=needsLayout (l=child needsLayout), U=needsUpdateConstraints (u=child needsUpdateConstraints), O=opaque, P=preservesContentDuringLiveResize, S=scaled/rotated, W=wantsLayer (w=ancestor wantsLayer), #=has surface

我也对_pdfView和self进行了测试,setNeedsLayout:YES并且setNeedsDisplay:YES没有任何更改。

有什么建议么?

Sunkas

似乎是一个错误。通过调整超级视图的大小来解决它。然后,它会自动调整大小。

//int widthModifierForMavericksWorkaround = 1;

-(void)refresh
{
    // Ugly workaround for Mavericks, resize view so it updates its scale

    CGSize size = self.frame.size;
    size.width += widthModifierForMavericksWorkaround;
    [self resizeSubviewsWithOldSize:size];

    widthModifierForMavericksWorkaround *= -1;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mavericks中的PDFView不会“自动缩放”,并且始终显示滚动条

来自分类Dev

如何始终在SWT表中显示垂直滚动条?

来自分类Dev

始终在Bootstrap表响应中显示滚动条

来自分类Dev

JScrollPane滚动条不会显示吗?

来自分类Dev

在Adobe Reader中是否可以处于触摸模式并且滚动条不会消失?

来自分类Dev

WPF缩放+滚动条?

来自分类Dev

TextView可以滚动,但不会显示滚动条

来自分类Dev

如何始终在HTML5的iframe中显示滚动条

来自分类Dev

强制在ListView中显示滚动条?

来自分类Dev

滚动条未显示在JPanel中

来自分类Dev

水平滚动条不会显示在jtable中。如何使列停止收缩?

来自分类Dev

自动设置高度,而不是在Bootstrap Modal中显示滚动条

来自分类Dev

使滚动条始终在div中可见-chrome

来自分类Dev

滚动条不显示自动溢出的元素

来自分类Dev

溢出-y:滚动条未在Chrome中显示滚动条

来自分类Dev

在android中的每次下一次点击时,始终在页面顶部显示滚动条

来自分类Dev

向下拖动表格之前,在UITableView中显示滚动条。在某种程度上,UIScrollBar应该始终可见

来自分类Dev

在android中的每次下一次点击时,始终在页面顶部显示滚动条

来自分类Dev

SplitContainer中的顶部ListView不会添加垂直滚动条

来自分类Dev

QTableWidget显示滚动条

来自分类Dev

摆动滚动条可缩放图像

来自分类Dev

表单滚动但滚动条不会移动

来自分类Dev

表单滚动但滚动条不会移动

来自分类Dev

jQuery自动滚动滚动条

来自分类Dev

希望我的滚动条始终在底部

来自分类Dev

如何使滚动条始终可见?

来自分类Dev

希望我的滚动条始终在底部

来自分类Dev

JFrame JTable列名称不显示,并且滚动条不显示

来自分类Dev

即使将滚动条放入滚动查看器中,滚动条也不显示在堆栈面板中

Related 相关文章

  1. 1

    Mavericks中的PDFView不会“自动缩放”,并且始终显示滚动条

  2. 2

    如何始终在SWT表中显示垂直滚动条?

  3. 3

    始终在Bootstrap表响应中显示滚动条

  4. 4

    JScrollPane滚动条不会显示吗?

  5. 5

    在Adobe Reader中是否可以处于触摸模式并且滚动条不会消失?

  6. 6

    WPF缩放+滚动条?

  7. 7

    TextView可以滚动,但不会显示滚动条

  8. 8

    如何始终在HTML5的iframe中显示滚动条

  9. 9

    强制在ListView中显示滚动条?

  10. 10

    滚动条未显示在JPanel中

  11. 11

    水平滚动条不会显示在jtable中。如何使列停止收缩?

  12. 12

    自动设置高度,而不是在Bootstrap Modal中显示滚动条

  13. 13

    使滚动条始终在div中可见-chrome

  14. 14

    滚动条不显示自动溢出的元素

  15. 15

    溢出-y:滚动条未在Chrome中显示滚动条

  16. 16

    在android中的每次下一次点击时,始终在页面顶部显示滚动条

  17. 17

    向下拖动表格之前,在UITableView中显示滚动条。在某种程度上,UIScrollBar应该始终可见

  18. 18

    在android中的每次下一次点击时,始终在页面顶部显示滚动条

  19. 19

    SplitContainer中的顶部ListView不会添加垂直滚动条

  20. 20

    QTableWidget显示滚动条

  21. 21

    摆动滚动条可缩放图像

  22. 22

    表单滚动但滚动条不会移动

  23. 23

    表单滚动但滚动条不会移动

  24. 24

    jQuery自动滚动滚动条

  25. 25

    希望我的滚动条始终在底部

  26. 26

    如何使滚动条始终可见?

  27. 27

    希望我的滚动条始终在底部

  28. 28

    JFrame JTable列名称不显示,并且滚动条不显示

  29. 29

    即使将滚动条放入滚动查看器中,滚动条也不显示在堆栈面板中

热门标签

归档