问题标签 [iboutlet]

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 投票
1 回答
380 浏览

objective-c - iOS:IBOutlet 的替代品?

我有很多非常大的视图控制器。实际上有很多无用的代码:

InterfaceBuilder 中每个视图的属性

合成

并在 dealloc 中释放

我在想可能有可能将它们全部(我需要的所有视图)收集起来。但在这种情况下,我不会有任何 IBOutlet。如何将它们与 IB 联系起来?

你能帮助我吗?我真的不喜欢有 3 个地方的代码如此相似=(

0 投票
1 回答
1098 浏览

uiview - 使用 NIB 文件创建 UIView 实例时链接 IBOutlets

UIView使用这样的 NIB 文件的内容创建了一个对象:

但实际上self.results是一个子类UIView

我已通过 Interface Buildertitle将定义的属性GameResults与对象连接起来。UILabel但是在执行过程中,SIGABRT当视图被分配给时,应用程序会停止并显示一条消息self.results

似乎标签根本无法连接。这样做的正确方法是什么(如果有的话)?我的目的是将此自定义视图添加到UIScrollView对象中。

谢谢!

更新:我正在使用 Xcode 4

0 投票
1 回答
2286 浏览

iphone - Outlet 没有出现在 Interface Builder (Xcode 3) 和 Xcode4 中

我正在学习开发 iOS 应用程序(我是 Objective-C 和 Cocoa 的新手),我正在做这个非常简单的示例练习(在标签中按下两个按钮,显示左或右按钮)。

我只是创建了一个 IBOutlet 和几行代码,保存了两个 AppViewController 文件,当尝试将 IBOutlet 与 Interface Builder 中的实际标签连接时,插座不显示。

我正在使用 iOS SDK 4.3

这是源代码:

嗯,就是这样,希望你能帮助我,可能是一个愚蠢的错误,但我浏览了很多,我找不到解决方案。

0 投票
1 回答
559 浏览

core-data - 让 UITabBarController 与核心数据一起工作

我一直在 Stackoverflow 上阅读这个帖子,并试图在我自己的项目中复制该解决方案,但没有成功。

我的项目有 4 个选项卡。在我的应用程序委托中,我这样做:

在原始线程中,它说我需要为每个要在其上使用核心数据的选项卡的每个 navController 创建一个 IBOutlet。

虽然您可以为 UINavigationController 分配多个委托,但对于插座而言并非如此,但您只能为 navController 提供一个插座。

我可以让 Page1 工作,但其他页面只是崩溃;因为缺少 IBOutlet。

对于 Y 标签,我真的需要 X IBOutlets 还是可以用另一种方式来做?

另一个问题是接受答案的原始线程是:

理想情况下,您希望将 NSManagedObjectContext、NSFetchedResultsController 或相关的 NSManagedObject “向下”传递到 UIViewController。

但是没有代码或示例说明如何执行此操作。

理想情况下,我不想使用单例或到处使用应用程序委托。

任何确认和澄清都会很棒。

谢谢。

0 投票
1 回答
245 浏览

objective-c - 一个 obj-c 函数在 C 回调中工作正常,另一个在调用时完全一样

我有一个依赖于 C 回调方法从 macbook 的触控板检索多点触控信息的应用程序。这是我如何将这些数据传达给用户的截断版本:

在 MT2AppDelegate.h 中:

在 MT2AppDelegate.m 中:

因此,出于某种原因,在一个 IBOutlet 上使用函数可以在 C 中正常工作,而另一个则什么也不做。相同的两个函数都在 Objective-c 中工作。我似乎也无法从 C 中的应用程序委托调用函数。例如,[sharedWithCAppDelegateReference setPoint];什​​么也不做。

此外,如果有更优雅的方式来做到这一点(我敢肯定有),我会全神贯注。这里发生的是这个回调函数不断更新,报告触控板上手指位置的信息。我想为视图设置动画,以便它提供手指位置的视觉表示。应用程序 FingerMgmt 在这方面做得很好,但没有可用的源代码。

我目前有我的应用程序委托,其中包含回调函数,以及另一个类(“MyView”),它是我的应用程序窗口中的视图类。应用程序委托通过界面构建​​器中的 IBOutlet 链接到视图,我计划将命令传递给它以更新代表手指的椭圆的位置。但同样,这对我不起作用。

0 投票
2 回答
755 浏览

iphone - 使用 UIViewController IBOutlet 的目的是什么

我正处于iOS编程的学习阶段。我正在尝试在另一个 NIB(称为 A)中添加一个 NIB(称为 B)。为此,我在 A 中添加了一个使用 B NIB(使用 NIB 名称)的视图控制器。另外,在A的ViewController中,我创建了一个IBOutlet来存放B的ViewController。最后,在 AI 中已将 IBOutlet 连接到引用 B 的 ViewController。

现在,我希望当我运行项目时,我会看到每当加载 A 时都会加载 B,但事实并非如此。为此,我必须在 A 的 viewDidLoad 方法中使用 initWithNibName 务实地初始化 B,并将其设置为 IBOutlet。但这部分并不依赖于在 A 中同时使用 IBOutlet 并向 A 添加一个指向 B 的 ViewController。换句话说,如果我只是在 A 的 viewDidLoad 中初始化了 B 而没有在 A 中创建 IBOutlet 并且没有创建 View A 中的控制器对象,它也可以正常工作。

所以我的问题是,使用 IBOutlet 添加自定义视图控制器 NIB 的目的是什么?

0 投票
6 回答
4027 浏览

objective-c - IBOutlet 为零的原因

IBOutlet(已连接)可能是什么原因nil

我有一个永远是的应用程序nil,即使我从头开始重新创建所有内容(声明和控制)。

0 投票
3 回答
448 浏览

ios - 使用大量 IBOutlets 是一种好习惯吗?

我还是 iOS 的初学者,所以最近我做了很多教程。

假设我正在制作一个应用程序,例如计算器,假设有 24 个按钮。我已经看到了示例代码,其中按钮的标签被用来确定它是什么按钮,但这似乎真的很笨拙,尤其是在尝试翻译应用程序时。

那么,只是硬着头皮为每个按钮设置一个 IBOutlet 会更好吗?为什么或者为什么不?

如果不是,那么在保持 MVC 范式的同时,最优雅的方式是什么?


好的,我只是在回顾我的代码,现在我感觉比以前更像一个菜鸟......我真的在谈论 IBActions,而不是 IBOutlets......我应该为不同的按钮提供一大堆 IBActions 吗?这是 viewController.h 文件中现在的样子:

为什么这对我来说只是重复和不雅?

0 投票
3 回答
6220 浏览

iphone - 无法为自定义 UITableViewCell 连接 IBOutlets

我在尝试在 Xcode 4 中为我的 iPhone 应用程序创建自定义 tableview 单元格时遇到问题。我创建了 .h 和 .m 文件,为单元格内应该存在的所有子视图创建了 IBOutlets,然后拖动Interface Builder 中单元格的 XIB 文件中的实际控件。但是,我不知道如何将插座连接到 IB 控件。我阅读的每个教程都说要从对象列表中的 TableViewCell 对象控制拖动到子视图,但是当我这样做时,我的 IBOutlets 不会在弹出窗口中列出。唯一可用的插座是“acccessoryView”、“backgroundView”、“editingAccessoryView”和“backgroundSelectedView”。我不应该也在该列表中看到我自己的 IBOutlets 吗?还是我没有遵循正确的程序?(一世'

这是我用于自定义单元类的代码:

。H :

.m:

(请注意,我现在将子视图简化为“艺术品”图像视图,以简化计算)。谢谢你的帮助!

0 投票
10 回答
18134 浏览

objective-c - Interface Builder 中的 IBOutletCollection 集排序

我正在使用 IBOutletCollections 对类似 UI 元素的多个实例进行分组。特别是我将一些 UIButtons(类似于问答游戏中的蜂鸣器)和一组 UILabels(显示分数)分组。我想确保按钮正上方的标签会更新分数。我认为通过索引访问它们是最容易的。不幸的是,即使我以相同的顺序添加它们,它们也不总是具有相同的索引。Interface Builder 中有没有办法设置正确的顺序。