替換的視圖,當在我的申請,我有:保持約束由其他視圖
- 主窗口中,包含「自定義視圖」,這是一個的NSView 在IB丟棄。
- 一個視圖控制器+另一個筆尖,包含一個視圖和一些 控件。
當應用程序加載時,我使用:
initWithNibName:nibName andReplaceView:(the custom view) resize:YES
要更換自定義視圖。我知道在IB中有一個選項placeholder
,但我不知道如何使用它,並且我的應用程序以這種方式運行良好... ...除了加載的視圖不繼承佈局約束替換視圖。
我該如何解決這個問題?
編輯:對不起,我忘了該功能是我的...我很久以前在一個類別中寫了它。以下是代碼:
- (id)initWithNibName:(NSString*)nibName andReplaceView:(NSView*)aView resize:(BOOL)resize
{
// 1. Loading the bundle
if (self = [self initWithNibName:nibName bundle:nil])
{
[self replaceView:aView resize:resize];
}
return self;
}
- (void)replaceView:(NSView*)aView resize:(BOOL)resize
{
if (resize)
{
NSRect insertionFrame = [aView frame];
[[self view] setFrame:insertionFrame];
}
else
{
NSRect insertionFrame = [aView frame];
insertionFrame.size.width = [[self view] frame].size.width;
insertionFrame.size.height = [[self view] frame].size.height;
[[self view] setFrame:insertionFrame];
}
NSView* supView = [aView superview];
[supView replaceSubview:aView with:[self view]];
}
' - initWithNibName:andReplaceView:resize:'does not exist ...。 – Jean 2014-09-03 08:03:19
'-replaceView:resize:'也是自定義的,所以我們無法知道它做了什麼。 – 2014-09-03 08:10:54
@TomDalling我已更新我的帖子。抱歉。我在2年或3年前寫過他們... – Adeline 2014-09-03 08:11:34