问题标签 [outlet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2004 浏览

objective-c - 在 xCode 中,我收到错误“已加载 nib 但未设置视图插座”?

我知道有多个问题在问同一个问题,但他们的解决方案都不适合我。

我制作了一个自定义的 viewController 类(Home),并单独制作了一个 .xib。(实际上,我将有 2 个笔尖——一个用于加载 ipad 版本,另一个用于 iphone)。

当我尝试实例化家庭类的实例时,我得到了问题中提到的错误。

在 xib 文件中,我所做的只是将 viewcontroller 对象从库中拖到屏幕上,它会自动在文件所有者和第一响应者下方添加一个 viewcontroller 图标。然后我进入 viewController 对象的检查器并将类从 viewController 更改为 Home。

我从解决方案中发现的下一步是连接检查器的视图插座。我不完全确定我应该将它连接到什么。我发现的解决方案是将其连接到视图图标,但我再次看到的是文件所有者、第一响应者和 vc 对象。它与任何一个都没有连接

这是我放在应用程序委托中的内容

0 投票
1 回答
1408 浏览

xcode - Monodevelop 2.8、XCode 3.2.6、Interface Builder:Outlets 和 Actions

编辑:由于我还没有安装 XCode 4,我想知道 MD 2.8 是否与 XCode 3.2.6 完全兼容。特别是,我能否将 Outlets 和 Actions 与MT 文档中描述的新程序连接起来?

我刚刚安装了 MonoDevelop (MD) 2.8。我期待的似乎不起作用。

MD 2.6中,当我创建一个新的 UIViewController 时,该控制器显示如下:

  • Controller.xib <- 在同一棵树内
    • 控制器.xib.cs
    • Controller.xib.designer.cs

此外,如果我打开一个 xib 文件 Controller.xib,则只会打开 Interface Builder (IB)。如果我将插座添加到 xib,则插座在 Controller.xib.designer.cs 中可见。

MD 2.8中,当我创建一个新的 UIViewController 时,该控制器显示如下:

  • Controller.xib <- 在同一棵树中不再存在
  • 控制器.cs
    • 控制器.designer.cs

所以我有两个文件而不是一个。

另外,如果我打开一个 xib 文件,Controller.xib、IB 和 Xcode 都会打开。如果我将插座添加到 xib,则插座在设计器中不可见。

有什么建议么?

0 投票
1 回答
888 浏览

iphone - iPhone Interface Builder 使视图成为子视图

我在同一个 NIB 文件中有一个 UIView 和一个 UITableView ,如下所示:在此处输入图像描述

我已经意识到我不能为此添加工具栏或任何东西,因为它必须首先是 UIView 的子视图。在当前时间点,这只是一个单独的 UITableView。如何将其变成 UIView 的子视图?

另外,如果我不能这样做,我该如何添加一个新的 UITableView 作为 UIView 的子视图?我也尝试过这样做,但最终出现以下错误: 在此处输入图像描述

我不太清楚如何添加视图出口,因为简单地将视图拖向文件所有者不允许我这样做。

任何帮助将不胜感激,在此先感谢。

0 投票
0 回答
429 浏览

xcode - 如何在基于视图的应用程序中将 UITabBarController 连接到应用程序委托(第 1 部分)?

我正在尝试将基于视图的应用程序转换为选项卡栏应用程序。我无法将新的 UITabBarController 连接到 App Delegate。它没有给我选择。在此过程中,我一定错过了某种联系。

我在“MainViewController.xib”中添加了一个标签栏控制器。从我读过的大部分内容来看,我应该连接到“MainWindow.xib”,唯一的问题是我已经从基于视图的应用程序中设置了 iPhone 和 iPad 格式,所以我正在寻找一种方法通用连接它(所以我不必分别为 iPhone 和 iPad 格式重新创建它)。

我在 MillersAppAppDelegate.h 文件中创建了一个插座(并正确合成了它),但是当我尝试在 Interface Builder 中连接它时,我为 Tab Bar Controller 创建的插座没有作为选项出现(我假设这个是因为我一开始没有正确地将标签栏控制器连接到委托)。

我想在这里停下来学习第一步,这样它就不会太混乱了:

1) 如何将我的新标签栏控制器连接到基于视图的应用程序中的应用程序委托?

2)我如何随后将我的 Tab Bar Controller(在 App Delegate 中创建和合成)连接到 UITabBarController?


我看过其他人关于这类事情的问题,大多数反应是“启动一个新的标签栏应用程序并转移内容会更容易。” 我仍然希望能够学习如何做到这一点,它将帮助我更好地学习 X Code 和 Objective C 的语言,通过推动它并最终让我精通和更好(就像其他人一样有类似的问题)。感谢您忍受我的初学者问题,我仍在学习!

0 投票
1 回答
720 浏览

xamarin.ios - MonoTouch 5 错误:迁移到 Xcode 4.2 和 MonoDevelop 2.8 后“找不到选择器 setXxxxxx”

我有一个在 Xcode 3.2.6 / MonoTouch 4.2.x / MonoDevelop 2.6 中开发的 iPad 项目,当我安装 Monotouch 5、MonoDevelop 2.8.1 和 Xcode 4.2 时,项目编译并运行正常。但是当我开始在 Xcode 4.2 中更改 XIB 文件(添加插座)时,我开始出现一些故障:

1) 调试模式下的应用程序崩溃和 MonoDevelop 表示未加载视图,因为未设置视图出口。我发现在 Xcode 4.2 中无需在 .h 文件中创建名为“view”的插座,只需将 File Owner 视图连接到设计器中的视图控件即可。正确的?

2) 尚未解决的主要问题是我收到异常“无法找到选择器 setXxxxx”,其中“xxxxx”是 UI 控件的出口名称。它开始发生在从基本视图控制器继承的 ViewControllers 中,但是一旦我开始更改其他普通 viewControllers,我就会得到相同类型的错误。有什么问题的任何提示?

3)我有一个控制器可以动态加载一些视图并且工作正常。但是当我在其中一个子视图出口(如 UILabel 的文本)上设置属性时,值已设置(在调试器上)但 UI 中没有变化。例如,这些操作工作正常。有什么问题。

4) 为了在 Xcode 4.2 下正确地与 MonoDevelop 2.8 集成,需要在 XIB 中进行任何特殊设置吗?

非常感谢帮助,我想回到以前的工具集和单点触控,但我想一旦项目升级,就没有办法在不丢失现在完成的所有开发的情况下返回。

谢谢,佩德罗

编辑:除了由 MonoTouch 5 生成的新的干净属性 [Outlet] 代码(替换以前生成的大量代码)之外,显着的区别是在生成的部分类之前是 public 而现在是 private,这可能是我的问题的根源。有没有办法生成公共部分类或受保护?

编辑 2:如果我手动将 public 关键字添加到由 MonoTouch 在 Designer.cs 中生成的部分类和成员中,则选择器是在幕后生成的并且所有的工作。这表明随着从公共部分类到私有部分类的更改,绑定生成在 MonoTouch 5 中发生了变化,是设计还是错误?我会觉得很奇怪,现在不可能创建一个带有插座的视图控制器,子类它并且子视图控制器无法访问父类插座。

0 投票
1 回答
647 浏览

ios - 尝试在 iPad 上加载视图时出现异常:“已加载 nib 但未设置视图插座”,如何添加该插座?

我得到这个例外:

抛出 Objective-C 异常。
名称:NSInternalconsistencyException
原因:- [UIViewController_loadViewFromNibNamed:bundle:] 加载了“TestRunnerViewController_iPad”笔尖,但未设置视图出口。

果然,如果我检查我首先创建的 iPhone 视图,我可以看到:

在工作视图中查看插座

但是,在崩溃的那个中,我手动添加的同一个控制器的 iPad 视图中,这个插座不存在,我不知道如何添加它。我查看了 File's Owner 下,我在工作视图上找到插座的同一个地方,但我无法弄清楚将“新引用插座”连接器拖到哪里,它似乎没有与任何东西链接:

崩溃视图的出口

所以,问题很简单。如何将所需的视图插座添加到我的新视图中?

请注意,我使用的是 MonoTouch/MonoDevelop,但由于这是与 Xcode Interface Builder 4 相关的问题,我怀疑这是否相关。

0 投票
1 回答
679 浏览

xcode - 当它是 IBOutletCollection 数组时,如何使用 UIImageView 的属性,例如“center.x”和“frame”?

好的,所以我有一个 UIImageView 的 IBOutlet,如下所示:

然后我可以使用像这样的变量“ground.frame”在我的代码中看起来像这样:

这很好用,但后来我发现我需要一个“IBOutletCollection”。我为此更改了 .h 代码:

现在我不知道如何让另一个工作,因为它给了我一个错误,告诉我“在 NSArray 类型的对象上找不到框架。” 所以我的问题是如何更改 .m 文件中的代码,使其工作方式与以前相同,但现在作为数组工作?

谢谢

0 投票
1 回答
128 浏览

ios - 无法以任何新方法更改插座的属性

我无法以新方法更改 Outlet 的属性,例如:

atviewDidLoad功能正常,但第二种方法Test没有,想用它来更新表中选定行时,一切正常,但是当我调用该方法Test时,错误“对象引用未设置为对象的实例”看起来很符合奥特莱斯。

0 投票
2 回答
341 浏览

c# - 如何使用 MonoTouch + Xcode 4 创建 Outlet == 无辅助规则

我正在尝试使用 MonoTouch 和 Xcode 4 创建我的第一个插座。

当我单击Assistant Editor时,它显示No Assistant Rules。它应该显示.h文件代码。

我所做的是创建一个新的IPad Tabbed Application,然后重命名FirstViewController.csSettingsController.cs,并且.designer.cs文件没有被重命名。所以我尝试关闭 MonoTouch 和 Xcode 4,然后在 Finder 中手动重命名文件,然后.proj在一些 TextEdit 中打开文件,用 SettingsController 替换 FirstViewConoller 的所有实例,重新打开解决方案等,然后查看 Xcode 4 现在是否知道.h 文件。

值得一提的是,当我单击 SecondViewController 的助手编辑器时,我确实会在其中显示一些 .h 文件代码,我可以将一个插座拖放到上面。

0 投票
2 回答
7374 浏览

objective-c - 如何在 Xcode 4.3.1 中向类添加动作或出口?

我正在按照 cocoalab.com(成为 Xcoder)的一个稍微过时的指南来学习可可的基础知识,但我坚持使用其中一个说明。

在第 45 页(第 08:9 节)标题为“创建连接”的部分中,它告诉我选择我的新类的实例,并从身份检查器中添加两个动作和一个出口。

我使用的是 Xcode 4.3.1,这显然与编写本教程的版本有点不同,但我不知道如何在这个较新的版本中进行等效操作。

谁能帮助我逐步说明如何将这些添加到我的对象中。