我有一个几乎完成的 iOS 5 项目,但是到处都缺少一个相同的视图。它是标准 NavigationBar 的替代品,您可以通过滑动在导航层次结构中“返回”,并且动画效果很好。
好的,因为很难通过代码进行布局,所以我创建了一个空的 IB 文档(HeaderView.xib),其中我有一个包含子视图等的视图。我之前有动画代码,所以我只创建了一个 UIView 子类(“HRAnimationView”) (并在 xib 的检查器“自定义类”字段中写下它的名称,还将子视图连接到插座)使用方法:
- (void)loadAnimation {…}
第二个(这是完成动画的委托方法):
- (void)animationDidStop:(NSString*)animationID finished:(NSNumber*)finished context:(void*)context {}
...这是所有动画内容发生并一遍又一遍地调用自己直到完成的地方...
在情节提要中,我有一个尺寸完全相同的子视图(及其出口),并希望加载 XIB(在相应控制器的 viewDidLoad 方法中):
NSArray *bundle = [[NSBundle mainBundle] loadNibNamed:@"HeaderView" owner:self options:nil];
HRAnimationView *view;
for (id object in bundle) {
NSLog(@"%@",object);
if ([object isKindOfClass:[UIView class]])
view = (HRAnimationView *)object;
}
self.headerView = view;
[self.view setNeedsDisplay];
[view loadAnimation];
但是 headerView 是空的!(UIView *view 也不起作用,owner:self.headerView 也不起作用)
…日志只是给了我:
<HRAnimationView: 0x3f1890; frame = (0 0; 240 49); autoresize = RM+BM; layer = <CALayer: 0x3f18d0>>
…</p>
问题是什么??也没有编译失败!
我不明白,为什么 xib 在我的情况下完全一文不值?!