这是关于未正确合成的插座(UIScrollView)
在一个特殊情况下,我有一个声明为:
的接口@interface VC_Create_Preview : UIViewController <UIScrollViewDelegate> {
UIScrollView *scrollView;
}
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
并在实施中......
@synthesize scrollView;
但是在调试模式下,我看到我的自我&gt; scrollView旁边总是有一个0x0。 执行
等操作CGRect frame = scrollView.frame;
始终返回原点,高度,宽度为零(我怀疑是因为它没有正确合成)
0x0是否意味着它没有指向内存中的任何位置? 这是否意味着它没有正确合成? 可能是因为IB中从插座到滚动视图的某处存在断开的链接?
干杯 凯文
答案 0 :(得分:2)
答案 1 :(得分:1)
0x0表示空指针,您可能没有将scrollView绑定到IB中的滚动视图...这意味着让viewControllers nib在其视图中有一个scrollView并绑定到插座。
答案 2 :(得分:0)
如果您想使用插座并使用用户会看到的实际尺寸(包括导航栏,标签栏等),您必须在viewWillAppear
或viewDidAppear
处实现所有用户界面更改。<登记/>
阅读更多关于从笔尖加载视图的阶段。
答案 3 :(得分:0)
尝试删除scrollview的本地声明,即
@interface VC_Create_Preview : UIViewController <UIScrollViewDelegate> {
UIScrollView *scrollView;//remove this
}
它可能对你有所帮助。同时分配使用_scrollView
而不是scrollView
。
答案 4 :(得分:-2)
请确保您在代码中使用了正确的类,例如,您放入故事板的第一个UIViewController
将具有通用的“whateveryourprojectiscalled”UIViewController。
然而,对我而言,问题在于我将其与其他几个UIViewController
相关联,其中没有一个已经声明了自己的类,所以我写的卷轴出口只出现在主要原件上UIViewController
这不是我需要它的地方。所以,一旦我写了一个自定义类名,然后重新编写代码以适应这一点。插座看起来很完美,工作正常。