アクションシートにボタンを追加しています。それは簡単ですが、私の場合は5つ以上あり、Appleはアクションシートで5つ以上のボタンを受け入れません。そこで、アクションシートにスクロールビューを追加し、スクロールビューにボタンを追加します。ただし、このビューには、キャンセルされる2つの固定ボタンと、タイトルが付いたボタンがあります。
これはこれを行う正しい方法ですか?
アクションシートにボタンを追加しています。それは簡単ですが、私の場合は5つ以上あり、Appleはアクションシートで5つ以上のボタンを受け入れません。そこで、アクションシートにスクロールビューを追加し、スクロールビューにボタンを追加します。ただし、このビューには、キャンセルされる2つの固定ボタンと、タイトルが付いたボタンがあります。
これはこれを行う正しい方法ですか?
ボタンが5つ以上ある場合は、通常のビューでカスタマイズされたテーブルビューを使用しUIModalTransitionStyleCoverVertical
、アクションシートのようになるように指定することをお勧めします。
次のコードを使用してください。
- (IBAction)actionsheetbuttonpress:(id)sender {
actionSheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:nil
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
[actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
UIToolbar *pickerDateToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
pickerDateToolbar.barStyle = UIBarStyleBlackOpaque;
[pickerDateToolbar sizeToFit];
CGRect pickerFrame = CGRectMake(0, 40, 0, 0);
pickerData = [[UIPickerView alloc]initWithFrame:pickerFrame];
pickerData.showsSelectionIndicator = YES;
pickerData.dataSource = self;
pickerData.delegate = self;
[actionSheet addSubview:pickerData];
NSMutableArray *barItems = [[NSMutableArray alloc] init];
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc]initWithTitle:@"DONE-A" style:UIBarButtonItemStyleBordered target:self action:@selector(DatePickerDoneClick)];
UIBarButtonItem *doneBtn1 = [[UIBarButtonItem alloc]initWithTitle:@"DONE-B" style:UIBarButtonItemStyleBordered target:self action:@selector(DatePickerDoneClick)];
UIBarButtonItem *doneBtn2 = [[UIBarButtonItem alloc]initWithTitle:@"DONE-C" style:UIBarButtonItemStyleBordered target:self action:@selector(DatePickerDoneClick)];
[barItems addObject:doneBtn];
[barItems addObject:doneBtn1];
[barItems addObject:doneBtn2];
//add more two button here...or you can add any no of buttons..
[pickerDateToolbar setItems:barItems animated:YES];
[actionSheet addSubview:pickerData];
[actionSheet addSubview:pickerDateToolbar];
[actionSheet showInView:self.view];
[actionSheet setBounds:CGRectMake(0,0,320, 464)];
[barItems release];
[actionSheet release];
[pickerData release];
}
願わくば、これはあなたを助けるでしょう....チル