2012-04-04 65 views
2

IM试图与一个的UIDatePicker创建actionsheet UIActionsheet,这个动作片被打开时,按一下按钮,我想使动作片一样酥料饼的,但不能工作与自定义大小

UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Pick Value" 
                 delegate:self 
              cancelButtonTitle:@"Done" 
             destructiveButtonTitle:nil 
              otherButtonTitles:nil]; 

    UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,180,0,0)]; 

    [menu addSubview:pickerView]; 
    [menu showInView:self.view.superview]; 

    //Change the height value in your CGRect to change the size of the actinsheet 
    [menu setBounds:CGRectMake(0,0,400,400)]; 

    [pickerView release]; 
    [menu release]; 

问题在这里只有一行Action表示,那不是400 * 400的限制我需要做什么?

回答

0
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Pick Value" 
                delegate:self 
             cancelButtonTitle:@"Done" 
            destructiveButtonTitle:nil 
             otherButtonTitles:nil]; 

UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,180,0,0)]; 

[menu addSubview:pickerView]; 
[menu showInView:self.view.superview]; 

[menu setFrame:CGRectMake(0,0,320,400)]; //used setFrame instread of setBounds 

[pickerView release]; 
[menu release]; 
+1

,这不是我的工作仍然面临着同样的问题 – roshni 2012-04-04 07:50:19

+0

@roshni,现在试试这个 – Hemang 2012-04-04 07:51:37

+0

我已经尝试同样的事情,但第二ANS引导我,THT不是在iPad应用程序 – roshni 2012-04-04 07:55:16

0

我试过你的代码和setBounds改变了我的情况下的动作表的大小。

反正你也可以尝试改变片的框架中委托的方法

- (void)didPresentActionSheet:(UIActionSheet *)actionSheet 

这将确保动作片的时刻已经创建的,当你试图更新框架。

0

做这个.m文件

UIViewController *popoverContent = [[UIViewController alloc]init]; 
UIView *popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)]; 

    datepiker= [[UIDatePicker alloc]init]; 
    [datepiker setFrame:CGRectMake(0, 0, 320, 216)]; 
    datepiker.datePickerMode=UIDatePickerModeDateAndTime; 
    datepiker.hidden=NO; 
    datepiker.minimumDate=[NSDate date]; 

    [self.view addSubview:datepiker]; 

    [datepiker release]; 
    // [datepiker addTarget:self action:@selector(changedDate:) forControlEvents:UIControlEventValueChanged]; 

    btn_add=[[UIButton alloc]initWithFrame:CGRectMake(115, 250, 100, 30)]; 
    [btn_add setTitle:@"Add" forState:UIControlStateNormal]; 
    [btn_add setFont:[UIFont fontWithName:@"Arial-BoldMT" size:20]]; 
    [btn_add setBackgroundColor:[UIColor redColor]]; 
    [btn_add addTarget:self action:@selector(AddDate:) forControlEvents:UIControlEventTouchUpInside]; 
    [popoverView addSubview:btn_add]; 

    btn_cancel=[[UIButton alloc]initWithFrame:CGRectMake(115, 300, 100, 30)]; 
    [btn_cancel setTitle:@"Cancel" forState:UIControlStateNormal]; 
    [btn_cancel setFont:[UIFont fontWithName:@"Arial-BoldMT" size:20]]; 
    [btn_cancel setBackgroundColor:[UIColor redColor]]; 
    [btn_cancel addTarget:self action:@selector(CancelDate:) forControlEvents:UIControlEventTouchUpInside]; 
    [popoverView addSubview:btn_cancel]; 

    [popoverView addSubview:datepiker]; 
    [popoverView addSubview:btn_add]; 
    popoverContent.view = popoverView; 
    popoverContent.contentSizeForViewInPopover = CGSizeMake(320,350); 

    self.popoverController = [[UIPopoverController alloc] 
            initWithContentViewController:popoverContent]; 
    [self.popoverController presentPopoverFromRect:CGRectMake(400,-150, 320,220) 
               inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 
     } 

    [popoverView release]; 
    [popoverContent release]; 

} 

-(void)AddDate:(id)sender 
{ 
} 
-(void)CancelDate:(id)sender 
{ 
[popoverController dismissPopoverAnimated:YES]; 

} 

做这个的.h文件,并添加UIPickerViewDelegate,UIPopoverControllerDelegate

{ 
UIPopoverController *popoverController; 
UIDatePicker *datepiker; 
UIPickerView *picker; 
UIButton *btn_add; 
UIButton *btn_cancel; 
} 
@property(nonatomic,retain)IBOutlet UIDatePicker *datepiker; 
@property(nonatomic,retain)IBOutlet UIPickerView *picker; 
@property(nonatomic,retain)UIPopoverController *popoverController; 
@property(nonatomic,retain)UIButton *btn_add; 
@property(nonatomic,retain)UIButton *btn_cancel; 
-(void)AddDate:(id)sender; 
-(void)CancelDate:(id)sender; 

这对我的作品。恩乔伊

+0

@chintu感谢的 – roshni 2012-04-04 08:02:21

+0

@roshni恩乔伊工作:) – 2012-04-04 08:04:35