1

这是关于未正确合成的插座(UIScrollView)

在一种特殊情况下,我有一个接口声明为:

@interface VC_Create_Preview : UIViewController <UIScrollViewDelegate> {
    UIScrollView *scrollView;
}

@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

而在实施中......

@synthesize scrollView;

但在调试模式下,我看到我的 self->scrollView 旁边总是有一个 0x0。执行诸如

CGRect frame = scrollView.frame;

总是返回零的原点、高度、宽度(我怀疑是因为它没有正确合成)

0x0 是否意味着它不指向内存中的任何位置?这是否意味着它没有正确合成?会不会是从出口到 IB 中的滚动视图的某个地方的链接断开了?

干杯凯文

4

5 回答 5

2
  1. 确保您确实将 UIScrollView 连接到了插座。
  2. 请记住,在从 nib 加载视图之前,不会设置 scrollView。
于 2012-01-12T05:14:09.997 回答
1

0x0 表示空指针,您可能没有将 scrollView 绑定到 IB 中的滚动视图...这意味着让 viewControllers nib 在其视图中有一个 scrollView 并绑定到插座。

于 2012-01-12T05:12:57.160 回答
0

如果您想使用 outlet 并使用用户将看到的实际大小(包括导航栏、标签栏等),您必须在viewWillAppear或处实现所有 UI 更改viewDidAppear
阅读更多关于从 nib 加载视图的阶段。

于 2012-01-12T07:10:32.053 回答
0

尝试删除滚动视图的本地声明,即

@interface VC_Create_Preview : UIViewController <UIScrollViewDelegate> {
    UIScrollView *scrollView;//remove this
}

它可能会帮助你。同样在分配 use_scrollView而不是scrollView.

于 2013-04-24T09:34:48.117 回答
-2

确保您在代码中使用了正确的类,例如,UIViewController您第一次进入情节提要将具有通用的“whateveryourprojectiscall”UIViewController。

然而,对我来说,问题是我将它链接到其他几个UIViewController,没有一个有自己的类声明,所以我正在写的滚动出口只出现UIViewController在我不需要的主要原件上是。所以一旦我写了一个自定义类名,然后重新编写代码来适应它。插座看起来很完美并且工作正常。

于 2012-09-21T22:56:02.757 回答