如何在Interface Builder中创建多个超出xib的元素

时间:2009-12-25 10:43:31

标签: iphone uiview interface-builder

我有一个UIView,其中有很多元素,如Text Field,Date Picker和Picker View,可以将数据添加到我的应用程序中。这不会在Interface Builder的屏幕中显示。在我看来,用户将向下滚动以插入它们。有没有办法实现这个目标?

由于

3 个答案:

答案 0 :(得分:2)

如何在Interface Builder中设置高于480像素的视图。

这将使用两个xib文件完成:

MainView.xib 是MainViewController的视图,高度为460像素。 TallView.xib 是一个600像素高的视图(有关如何在IB中执行此操作,请参见下文)。

MainViewController只包含一个UIScrollView。您的所有内容都应位于 TallView.xib

MainViewController 中,覆盖 viewDidLoad 并使用以下代码:

<强> viewDidLoad中:

- (void)viewDidLoad {

    //load your TallView.xib into a UIView object
    NSArray *nibParts = [[NSBundle mainBundle] loadNibNamed:@"TallView" 
                                                      owner:nil 
                                                    options:nil];
    //first object is the view
    UIView *tallView = [nibParts objectAtIndex:0];

    //add tallView to scrollView 
    [scrollView addSubview:tallView];

    //set content size to same dimensions as TallView.xib
    scrollView.contentSize = CGSizeMake(320, 600);
}

如何在Interface Builder中创建高于480像素的视图

首先将模拟界面元素设置为“none”,然后更改高度,覆盖xib的高度超过480。

看两个屏幕截图: alt text http://static.benford.name/IBViewAttributes.png

alt text http://static.benford.name/IBViewSize.png

答案 1 :(得分:0)

AFAIK这不是iPhone应用程序的标准行为。您可以使用属性名称创建tableView,并在用户单击表格行时显示其他视图(使用datePicker或textFields)以输入值。

答案 2 :(得分:0)

我建议使用UIScrollView。我不太确定它是否会做你需要做的所有事情,但是当我需要滚动视图时它对我有用。