我有一个UIPickerView,并需要将其显示在iPad的UIActionSheet中(在iPhone中非常简单,但在iPad中不行)。
我在视图上有一个按钮,当我点击它时,执行以下代码:
我在视图上有一个按钮,当我点击它时,执行以下代码:
- (IBAction) buttonPressed:(id)sender
{
NSLog(@"I am pressed");
UIPickerView* picker = [[UIPickerView alloc] initWithFrame:CGRectMake(100,200,500,500)];
picker.delegate = self;
picker.dataSource = self;
picker.showsSelectionIndicator = YES;
[self.view addSubview:picker];
}
// PickerView的委托和数据源函数:
// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 5;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return @"One";
}
但是当将上面的代码更改为在ActionSheet中添加PickerView时,它只显示ActionSheet的标题,而没有PickerView!
修改后的代码如下:
- (IBAction) buttonPressed:(id)sender
{
NSLog(@"I am pressed");
UIActionSheet* actionSheet = [[UIActionSheet alloc] initWithTitle:@"My PickerView"
delegate:nil
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
UIPickerView* picker = [[UIPickerView alloc] initWithFrame:CGRectMake(100,200,500,500)];
picker.delegate = self;
picker.dataSource = self;
picker.showsSelectionIndicator = YES;
[actionSheet addSubview:picker];
[actionSheet showFromRect:CGRectMake(0, 0, 320, 469) inView:self.view animated:NO];
}
UIPickerView* picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0,0,320,469)];
时,我现在可以看到ActionSheet内的PickerView的非常小的一部分,但是ActionSheet显示为一个非常小的正方形,我该如何使它变大?我尝试更改其宽度和高度,但似乎不起作用! - Muhammad Hewedy