2011-07-28 108 views
1

我有一个具有一个工具栏和右侧下方的视图中的XIB文件(视图),作为在图像中示出的下面:如何以编程方式将视图添加到从XIB文件加载的另一个视图中?

Desired View

You can also view the image here.

我使用以下PhotoScroller:http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html

的问题是,所述PhotoScroller动态创建到方法的loadView并直接分配给它自己的视图。这使得PhotoScroller填满整个屏幕,这不是我想要的。

我希望能够把PhotoScroller仅是工具栏下面的视图内部(即,视图编号为2的图片上文)。

我想我必须加载是XIB文件中的视图和PhotoScroller分配给该视图。但是,我不知道该怎么做(或者如果这甚至是解决方案)。

我该怎么做?

PS:即使数字2显示了一个列表,它不是一个列表!它s just a simple blank view (I just couldn找到一个更好的图像放在这里)。

预先感谢您! :)

回答

1

而不是做

self.viewPanels = pagingScrollView 

尝试做的(这只会工作,如果您还添加viewPanels作为一个子视图到self.view):

[self.viewPanels addSubview:pagingScrollView]; 

我认为你应该还修改或覆盖Apple样本自带的frameForPagingScrollView的实现:

- (CGRect)frameForPagingScrollView { 
    CGRect frame = [[UIScreen mainScreen] bounds]; 
    frame.origin.x -= PADDING; 
    frame.size.width += (2 * PADDING); 
    return frame; 
} 

正如你所看到的,这里的框架相对于屏幕尺寸来说非常硬编码;在你的情况下,框架会更短,所以你应该改变高度。

+1

恩,我不认为我已经说清楚了。让我试着以更简单的方式询问,只使用ScrollView。 让我们说我有一个工具栏和一个查看右下角的xib文件。我想要做的就是设置该视图(我的意思是工具条下方的视图,而不是整个窗口)。 我希望能够做到这样的事情: - (void)viewDidLoad CGRect pagingScrollViewFrame = [self frameForPagingScrollView]; pagingScrollView.delegate = self; self.viewPanels = pagingScrollView; } 在最后一行,则viewPanels的观点是,位于工具栏 –

+1

事情下面的一个是,最后一行不'吨的工作。它编译并运行正常,但工具栏(viewPanels)下方的视图保持为白色(不显示滚动视图)。使代码工作的唯一方法是用self.view = pagingScrollView替换最后一行。问题是,用最后一种方法,ScrollView填满了整个屏幕并摆脱了工具栏。 –

+1

这工作sergio!太感谢了!我只是好奇而已。为什么self.viewPanels = pagingScrollView不起作用? –

相关问题