小编Ahm*_*laf的帖子

强制NSView以编程方式重绘

我的应用程序有两种不同的状态,每个状态都代表一个NSView.

因此,一次只显示一个视图,问题是当我在视图之间切换时,应用程序不显示新状态,直到我手动调整窗口大小!

我搜索了这个问题,并提供了多个解决方案,但没有任何对我有用:

[myView setNeedsDisplay:YES];
[myView display];
[[myView.window contentView] setNeedsDisplay:YES];


[mySubView1 setHidden:YES]; || [mySubView1 removeFromSuperView];
Run Code Online (Sandbox Code Playgroud)

我甚至将myView定义为Outlet,但没有任何效果.

这是我的代码

if (appState == 1) {

    [self.splitView setFrameSize:CGSizeMake(self.splitView.frame.size.width, self.view.frame.size.height - 250)];

    [self.mySubView1 setHidden:NO];
    [self.mySubView2 setHidden:YES];

    [self.mySubView2 removeFromSuperview];
    [self.mySubView1 addSubview:self.inCallView];
}
else
{
    [self.splitView setFrameSize:CGSizeMake(self.splitView.frame.size.width, self.view.frame.size.height - 70)];

    [self.mySubView1 setHidden:YES];
    [self.mySubView2 setHidden:NO];

    [self.mySubView1 removeFromSuperview];
    [self.mySubView2 addSubview:self.chatHeaderView];
}
// I need to redraw here
[self.view setNeedsDisplay:YES];
[self.mySubView1 setNeedsDisplay:YES];
[self.mySubView2 setNeedsDisplay:YES];
// and nothing happened until I resize my window manually 
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c nsview

6
推荐指数
1
解决办法
7426
查看次数

可可应用程序中的资源文件夹路径

我正在使用一些c文件的Mac OS X应用程序,我有一个配置文件,我将它添加到应用程序资源.

我的问题是"资源文件夹的相对路径是什么?"

我试过了

"[MyAppName].应用程序/内容/资源/的config.cfg"

它只在我从xCode运行我的应用程序时才能正常工作,否则它不起作用!

我认为应用程序从"MacOS"文件夹开始,所以我使用了这条路径: "../ Resources/config.cfg"

但它也没有用:(

请帮忙

c macos cocoa objective-c

5
推荐指数
1
解决办法
3869
查看次数

标签 统计

cocoa ×2

macos ×2

objective-c ×2

c ×1

nsview ×1