Objective c 在ScrollView iPhone中使用子视图

Objective c 在ScrollView iPhone中使用子视图,objective-c,xcode,cocoa-touch,Objective C,Xcode,Cocoa Touch,我试图在uiscrollview中添加uipickerview,但它没有正确显示,只是一个黑色正方形 此外,我还需要添加1个uipickerview、一些标签和一些按钮 我使用的代码如下所示: -(void)loadView { [super loadView]; UIPickerView *pView = [[UIPickerView alloc] initWithFrame:CGRectMake(20, 20, 280, 165)]; self.view.bac

我试图在uiscrollview中添加uipickerview,但它没有正确显示,只是一个黑色正方形

此外,我还需要添加1个uipickerview、一些标签和一些按钮

我使用的代码如下所示:

-(void)loadView {

    [super loadView];

    UIPickerView *pView = [[UIPickerView alloc] initWithFrame:CGRectMake(20, 20, 280, 165)];

    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
    scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    scroller.pagingEnabled = YES;
    NSInteger numberOfViews = 2;
    for (int i = 0; i < numberOfViews; i++) {
        CGFloat yOrigin = i * self.view.frame.size.height;
        UIView *awesomeView = [[UIView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
       // awesomeView.backgroundColor = [UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
        [scroller addSubview:awesomeView];
        [scroller addSubview:pView];

    }
    scroller.contentSize = CGSizeMake(self.view.frame.size.width , self.view.frame.size.height * numberOfViews);
    [self.view addSubview:scroller];

}
-(无效)加载视图{
[超级加载视图];
UIPickerView*pView=[[UIPickerView alloc]initWithFrame:CGRectMake(20,20280165)];
self.view.backgroundColor=[UIColor WithPatternImage:[UIImage ImageName:@“Background.png”];
scroller=[[UIScrollView alloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)];
scroller.PaginEnabled=是;
NSInteger numberOfViews=2;
对于(int i=0;i

会出现什么问题?

是否将数据放入选择器视图?我的意思是,如果你只是在没有数据的情况下放置picker视图,你将看不到任何内容

您需要添加委托和数据源,并将一些数据放入选择器中

pView.delegate = self;
pView.datasource = self;
然后您必须至少实现:

numberOfComponentsInPickerView:
numberOfRowsInComponent: 
titleForRow:

将高度更改为
216
UIPickerView的固定高度为216。仅。。您无法更改它。

请确保您正在实现UIPickerViewDeleteGate方法。正常情况下,它只会显示黑色方块,因为你的pickerview找不到数据,因此不会显示任何内容。

应用程序实际启动了吗?因为就我所记得的,从-loadView调用self.view会启动一个无限期。尝试使用
self.view=scroller相反。是的,应用程序正在正确启动。我已经尝试过了,我们可以修改选择器视图的高度。
UIPickerView *pView = [[UIPickerView alloc] initWithFrame:CGRectMake(20, 20, 280, 165)];