Objective c 在ScrollView iPhone中使用子视图
我试图在uiscrollview中添加uipickerview,但它没有正确显示,只是一个黑色正方形 此外,我还需要添加1个uipickerview、一些标签和一些按钮 我使用的代码如下所示: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
-(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)];