rho*_*bus 9 macos cocoa objective-c nsview nsscrollview
如何像在"预览"中一样将NSView置于NSScrollView中心?
nal*_*all 11
滚动到特定位置时,请阅读" 滚动视图编程指南"部分.有顶部或底部的例子.您只需更改数学以根据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];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3667 次 |
| 最近记录: |