8
如何在NSScrollView中像「預覽」一樣將NSView居中?在NSScrollView中居中放置NSView
如何在NSScrollView中像「預覽」一樣將NSView居中?在NSScrollView中居中放置NSView
閱讀滾動到特定位置的Scroll View Programming Guide部分。這裏有頂部或底部的例子。您只需更改數學計算基於您的NSView中間的原點。例如:
-(void)scrollToCenter:(NSScrollView*)scrollView
{
const CGFloat midX = NSMidX([[scrollView documentView] bounds]);
const CGFloat midY = NSMidY([[scrollView documentView] bounds]);
const CGFloat halfWidth = NSWidth([[scrollView contentView] frame])/2.0;
const CGFloat halfHeight = NSHeight([[scrollView contentView] frame])/2.0;
NSPoint newOrigin;
if([[scrollView documentView] isFlipped])
{
newOrigin = NSMakePoint(midX - halfWidth, midY + halfHeight);
}
else
{
newOrigin = NSMakePoint(midX - halfWidth, midY - halfHeight);
}
[[scrollView documentView] scrollPoint:newOrigin];
}
當文檔視圖小於滾動視圖時,這不起作用。文檔視圖固定在左下角(如果翻轉則左上角)。 – 2013-11-04 01:21:51