子类(或添加类别)NSWindow并添加:
- (void)fadeInAndMakeKeyAndOrderFront:(BOOL)orderFront {
[self setAlphaValue:0.0];
if (orderFront) {
[self makeKeyAndOrderFront:nil];
}
[[self animator] setAlphaValue:1.0];
}
- (void)fadeOutAndOrderOut:(BOOL)orderOut {
if (orderOut) {
NSTimeInterval delay = [[NSAnimationContext currentContext] duration] + 0.1;
[self performSelector:@selector(orderOut:) withObject:nil afterDelay:delay];
}
[[self animator] setAlphaValue:0.0];
}
Run Code Online (Sandbox Code Playgroud)
这允许您以编程方式淡入/淡出窗口.
要在按下关闭按钮时让窗口淡出,请将其添加到窗口的委托中:
- (BOOL)windowShouldClose:(id)sender {
[window fadeOutAndOrderOut:YES];
return NO;
}
Run Code Online (Sandbox Code Playgroud)
显示一个带淡入调用的窗口,[window fadeInAndMakeKeyAndOrderFront:YES];而不是你打电话给的窗口.
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |