mac开发系列36: 模态窗口

今天公司大哥帮忙解决了mac端模态窗口的问题,于是把这个重要事情记一下 ,好记性不如烂笔头,方便各位小伙伴需要

由于用的是NSWindowController ,在.h中 遵守<NSWindowDelegate>代理

  - (IBAction)renameFile:(id)sender {
      NSString*name =_fileName.stringValue;
      BOOLbAllEscape =TRUE;
      int index =0;
      for(int i =0; i < [name length] ; i++) {
      NSString* temp = [name substringWithRange:NSMakeRange(i,1)];
      if([temp compare:@" "] !=0) {
          bAllEscape =FALSE;
              index = i;
                break;
            }
          }
          name = [name substringFromIndex:index];
      }
            [NSApp stopModal];//这里需要把modal关闭
            [self close];
          }

代理方法

            - (BOOL)windowShouldClose:(id)sender{//代理方法
                    [NSApp stopModal];//关闭modal模式
                    returnYES;
                  }

在控制器创建窗口时

      -(void)renameWindow:(NSString*)judge origionName:(NSString*)oldName {
              self.renameWnd= [[RenameWnd alloc]initWithWindowNibName:@"RenameWnd"];
              self.renameWnd.judge= judge;
              [self.renameWnd loadWindow];
              [self.renameWnd selectItemFileName:oldName];
              [self.renameWnd showWindow:nil];
              [NSApp runModalForWindow:self.renameWnd.window];//加上这句话,开启modal模式
          }

现在已经做好模态窗口了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容