标签: nib

如何关闭窗口(卸载NIB)?

我有一个自定义NSWindowController子类,在初始化期间加载NIB文件,如下所示:

self = [super initWithNibNamed:@"myNib"];
if (self != nil) {
    [self window];
}
Run Code Online (Sandbox Code Playgroud)

nib包含一些自定义视图和一些其他控件.这NSWindowController是文件的所有者,至少有一个视图甚至绑定它.

简单地说,关闭和释放该窗口我需要做什么?我花了一整天的时间试图解决这个问题,我仍然无能为力.

cocoa nib nswindowcontroller

3
推荐指数
2
解决办法
7316
查看次数

笔记中的UIView在iPad上是零,而在iPhone上则不是零

我的应用程序有一个奇怪的问题.我在运行时使用名为"LoginViewController"的NIB加载VC.NIB有一堆出口到NIB中的UIView对象,如下所示:

在此输入图像描述

在运行时,我动态地将这些UIView对象作为标题放在我的表视图中.UIView在这种情况下,每个单独的(除了UITableView右边的那个)被设置为像这样的IBOutlet.每个人当然都有不同的名字:

@property (strong, nonatomic) IBOutlet UIView *connectionInProgressView;
Run Code Online (Sandbox Code Playgroud)

现在,在我的VC viewDidLoad方法中,我遍历所有这四个单独的视图,并通过写入日志来确保它们存在:

NSLog(@"connection in progress view: %@", self.connectionInProgressView);
Run Code Online (Sandbox Code Playgroud)

我的问题是:self.connectionInProgressView在iPad上为零而在iPhone上为零.无论平台如何,所有其他视图都不是零并且是实例化的.我在iOS 5.0,5.1和6.1的模拟器中运行它.我可以在所有iPad模拟器上重现这个问题.我的应用程序运行正常,并在iPhone上使用微调器加载视图,但在iPad上它无法加载该视图,因为它是零!为什么!?

我尝试过以下方法:

  • 检查我的NIB的文件所有者是否指向正确的视图
  • self.connectionInProgressView并不指向任何其他IBOutlet
  • 检查所有其他子视图是否与违规视图挂钩.他们是.
  • 删除self.connectionInProgressView所有NIB连接后删除并重新创建它.
  • 从视图中删除活动指示器并仅加载UILabel内部视图.没有运气,它不是活动指标.
  • 检查VC中可能引用的任何代码self.connectionInProgressView.没有(除了它的nil声明viewDidUnLoad).
  • 检查上的我的AppDelegate性质的财产属性类型UINavigationControllerLoginViewController.
  • 保留LoginViewControllerAppDelegate 的副本,虽然这看起来很浪费,并没有对结果产生影响.

[编辑2]

问题:如何加载VC

我有一个UINavigationController是我的AppDelegate的属性.这UINavigationControllerapplicationDidFinishLaunchingWithOptions我通过我的VC作为根视图控制器的alloc-init'd .我此时实例化了VC.

// Create login/start up views
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];

self.loginViewNavigationController = [[UINavigationController alloc] initWithRootViewController:loginViewController]; …
Run Code Online (Sandbox Code Playgroud)

null nib iboutlet ios

3
推荐指数
1
解决办法
1130
查看次数

在MAC上使用anaconda python的pyqtgraph会出现nib错误

我正在尝试在Mac OS上使用带有anaconda python 的pyqtgraph

Python 2.7.5 |Anaconda 1.6.1 (x86_64)| (default, Jun 28 2013, 22:20:13) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Run Code Online (Sandbox Code Playgroud)

我安装了pyqtgraph pip install pyqtgraph,看起来工作正常.但是,如果我从库中运行任何命令,我会收到此错误:

Qt internal error: qt_menu.nib could not be loaded. The .nib file should be
placed in QtGui.framework/Versions/Current/Resources/  or in the resources
directory of your application bundle.
Run Code Online (Sandbox Code Playgroud)

我发现这个SO线程,似乎与C++应用程序有关.在我的情况下,我没有application.app文件夹,所以我有点迷路.

python macos qt nib anaconda

3
推荐指数
1
解决办法
2122
查看次数

在具有多个笔尖的UITableViewCell中动态获取行高

我有一个UITableViewUITableViewCell来自不同的笔尖文件加载当用户轻敲或双抽头的小区,即,有不同高度的三个不同的笔尖文件,每一个用于正常,抽头和双击.

如何识别加载的笔尖heightForRowAtIndexPath:以动态设置行高?

uitableview nib ios ios6

3
推荐指数
1
解决办法
1449
查看次数

将nib更新到最新版本的xcode 5

我刚刚更新到xcode 5,当启动我的项目时,它询问我是否要更新nib文件.好吧,我只是说不,但现在我想,但我无法在任何地方找到选项.也许我很慢因为星期五,我不知道,请帮助我.

nib xcode5

3
推荐指数
1
解决办法
869
查看次数

Cocoa - loadNibNamed:owner:topLevelObjects:来自已加载的包

在基于文档的Cocoa应用程序中,我使用以下方法从外部包中实例化几个对象(插件):

- (NSMutableArray *)getPluginsOfType:(Class)type;
{
    NSBundle *main = [NSBundle mainBundle];
    NSArray *allPlugins = [main pathsForResourcesOfType:@"bundle" inDirectory:@"../PlugIns"];

    NSMutableArray *availablePlugins = [NSMutableArray array];

    for (NSString *path in allPlugins)
    {
    NSBundle *pluginBundle = [NSBundle bundleWithPath:path];
    [pluginBundle load];
    Class principalClass = [pluginBundle principalClass];
    [availablePlugins addObject:principalClass];
    }
return availablePlugins;
}
Run Code Online (Sandbox Code Playgroud)

在每个文件中,在init上加载一个nib文件,它将根视图与我的插件类中的属性绑定在一起.下面是一个最小的插件类定义:

@interface Plugin

@property (strong) IBOutlet NSView *thePluginView;

@end

@implementation Plugin

- (instancetype)init
{
    self = [super init];
    if (self)
    {
        [NSBundle loadNibNamed:@"NibName" owner:self];
    }
    return self;
}

@end
Run Code Online (Sandbox Code Playgroud)

虽然这很好用,但我想将上面的调用替换为NSBundle(因为它已被OS X 10.8+弃用),并将其替换为:

[[NSBundle mainBundle] loadNibNamed:@"NibName" …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nib nsbundle

3
推荐指数
1
解决办法
4271
查看次数

loadNibNamed崩溃(_:所有者:选项:)

我有一个自定义UIView实现CustomView.swift.然后我尝试CustomView在另一个名为CustomClass.swiftvia的类中实例化一个对象:
NSBundle.mainBundle().loadNibNamed(String(CustomView), owner: self, options: nil)

我得到以下异常:

***NSForwarding:警告:类'CustomClass'的对象0x7faceb60e300没有实现methodSignatureForSelector: - 提前麻烦无法识别的选择器 - [CustomClass awakeAfterUsingCoder:]

nib ios swift

3
推荐指数
1
解决办法
1578
查看次数

iPhone - 我应该如何编写init方法?

我应该如何为一个对NSObject进行子类化的类编写init方法

  • 假设我有一个名为的类:CustomButton子类化UIButton
  • 我有一个名为CustomButton.nib的空nib文件,其中包含一个UIButton.
  • IN界面构建器中按钮的类名设置为"CustomButton"

你会如何为这个类编写一个init方法,以便从nib文件加载?

iphone initialization objective-c nib

2
推荐指数
1
解决办法
1579
查看次数

如何动态更改UIVIewController的xib

我有一个UIVIewController"controller1".该控制器使用initWithNibName ...与"file1.xib"进行实例化.我想动态地将我的"controller1"的xib文件更改为"file2.xib"

恢复 :

"controller1"< - >"file1.xib",我想动态地拥有:"controler1"< - >"file2.xib"

我怎样才能做到这一点 ?

希望我很清楚.

iphone xib nib viewcontroller ios

2
推荐指数
1
解决办法
5395
查看次数

如何实例化自定义iOS UIViewController并在Storyboard下使用它的NIB?

StoryBoard设置

我有一个带有StoryBoard(iOS 5+)的项目,带有两个UIViewController.

任务是以编程方式实例化第二个UIViewController(CoordinationController),但我想将它的XIB文件用于用户界面设计.

将XIB复制到StoryBoard的明显解决方法是无效或无法用于未记录的原因.即使是规则也是如果第二个故事板的视图控制器没有视图,它将查找相同的命名XIB ...不起作用.

如何实例化第二个UIViewController并使用其XIB文件?

storyboard xib uiviewcontroller nib ios

2
推荐指数
2
解决办法
2215
查看次数