3

テキストが幅より長いため、アクション シートのボタン内のテキストのフォント サイズを小さくしたいと考えています。

フォントサイズを小さくするにはどうすればよいですか?

ピッカービューなどをアクションシートに追加できるので、アクションシートに独自のボタンを追加する必要があると思います。

例が必要です。

編集:少し進歩しましたが、実際のボタンは表示されていませんが、クリックするとボタンのテキストが変更されて動作することがわかります。

        UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Date Picker" 
                                                          delegate:self
                                                 cancelButtonTitle:@"Cancel"
                                            destructiveButtonTitle:nil
                                                 otherButtonTitles:@"OK",nil];    

        CGRect frame = CGRectMake(100.0, 80.0, 100.0, 40.0);

        UIButton *pickerView = [[UIButton alloc] initWithFrame:frame];

        [pickerView setTitle:@"FRED" forState:UIControlStateNormal];

        [pickerView setTitle:@"Go Back" forState:UIControlStateNormal];
        [pickerView setTitleColor:[UIColor blackColor] forState:UIControlEventTouchDown];
        pickerView.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
        pickerView.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
        //[removeButton addTarget:self action:@selector(buttonEvent:) forControlEvents:UIControlEventTouchDown];
        [pickerView setBackgroundColor:[UIColor blueColor]];


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

        [pickerView release];
        [menu release];  
4

1 に答える 1

3

これを直接実行できる場合もありますが、アクションシート ボタンは標準の UIButton ではなく、独自の特別なプライベート コントロール サブクラスであることに注意してください。このため、アクション シートをカスタマイズする必要がある場合は、独自のカスタム サブビューを UIActionSheet に追加し、シートのサイズを変更して一致させます。欠点は、ルック アンド フィールを一致させるために、カスタム ボタン イメージの背景が必要なことです。Fitting a UIDatePicker into a UIActionSheet のこの例を適応させました (ただし、コンパイラでチェックインしませんでした) 。ピッカーの代わりに、xib で作成した UIView を追加するだけです。

UIDatePicker *pickerView = [[UIDatePicker alloc] init];
pickerView.datePickerMode = UIDatePickerModeDate;
[myUIActionSheet addSubview:pickerView];
[myUIActionSheet showInView:self.view];        
[myUIActionSheet setBounds:CGRectMake(0,0,320, myUIActionSheet.bounds.size.height + pickerView.bounds.size.height)];

CGRect pickerRect = pickerView.bounds;
pickerRect.origin.y = - pickerView.bounds.size.height; //you may need to change this offset
pickerView.bounds = pickerRect;

[pickerView release];
[myUIActionSheet release];

編集: xib からサブビューを含めるには、UIView を xib のトップ レベルに追加し、通常のインターフェイス コンポーネントであるかのように、コントローラーの UIView プロパティに接続します。コントローラー内で使用できるようになります。

代替テキスト

アクション シートのコールバックを使用する代わりに、通常どおりボタン アクションを配線することもできます。プレス後にアクションシートを閉じる必要があります[myUIActionSheet.dismissWithClickedButtonIndex:0 animated:YES]; 。たとえば、IIRC.

于 2010-10-05T12:51:46.503 に答える