【问题标题】:Weird behaviour when loading view from xib/nib从 xib/nib 加载视图时的奇怪行为
【发布时间】:2011-02-11 10:57:10
【问题描述】:

从 xib/nib 加载视图时,我的应用程序出现了奇怪的行为。 我无法再访问从代码中与界面构建器连接的控件——这意味着我无法替换它们或更改文本和排序。 (尽管这些控件仍然会触发 IBActions .. 就像按钮点击一样) 我已经用 uisearchbar 遇到了这个问题。但是广泛删除并再次添加它并在Interface Builder中重新连接它以某种方式解决了这个问题。 iPad/iPhone uiSearchbar transparent background

我想避免在这个 xib 中的每一个血腥控制都这样做,所以我试图确定它。我发现,一旦我从我的 xib 加载视图,奇怪的行为就开始了。 (尽管已经在工作的控件,如 uisearchbar,继续工作)

我所做的是加载几个视图(来自同一个 xib,viewcontroller 是所有者)以将它们放入滚动视图中。这很好用..

代码如下:

UIView *viewContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 2304, 575)];
NSArray *nibViews1 = [[NSBundle mainBundle] loadNibNamed:@"ViewController_iPad" owner:self options:nil];
PrescriptionView *view1 = [nibViews1 objectAtIndex:1];
NSArray *nibViews2 = [[NSBundle mainBundle] loadNibNamed:@"ViewController_iPad" owner:self options:nil];
PrescriptionView *view2 = [nibViews2 objectAtIndex:1];
NSArray *nibViews3 = [[NSBundle mainBundle] loadNibNamed:@"ViewController_iPad" owner:self options:nil];
PrescriptionView *view3 = [nibViews3 objectAtIndex:1];
NSMutableArray *arrayViews = [[NSMutableArray alloc] init];
[arrayViews addObject:view1];
[arrayViews addObject:view2];
[arrayViews addObject:view3];
int intX = 1;
int intY = 1; 
for (UIView *viewImage in arrayViews)
{
    [viewImage setFrame:CGRectMake(intX, intY, 768, 575)];
    [viewContainer addSubview:viewImage];
    intX = intX + 768;
}

[arrayViews release];
[prescriptionScrollView setContentSize:CGSizeMake(2304, 575)];
[prescriptionScrollView addSubview:viewContainer];
[viewContainer release];

安迪的想法?建议?这是一个错误吗?

非常感谢。

最好的问候 T

【问题讨论】:

    标签: ipad uiview interface-builder nib


    【解决方案1】:

    作为对此的更新,我很确定这是一个错误。 将视图放置到它自己的 nibfile 中而不是从同一个 xib 中加载视图有助于摆脱这种奇怪的行为。 无论如何,我向苹果提出了一张支持票,但在因为一些愚蠢的原因两次拒绝我的票后,我厌倦了尝试。 感谢任何花时间阅读本文的人。 干杯!

    【讨论】:

      【解决方案2】:

      您如何定义您的网点?它们应该这样定义:

      @property (nonatomic, retain) IBOutlet MyView *myViewOutlet;
      

      还要注意,应该在 viewDidUnload 和 dealloc 中释放和取消出口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-08
        相关资源
        最近更新 更多