0

UIViewイン を追加UIActionSheetしているので、ビューに4つのラベルと閉じるボタンを追加する必要がありますが、画面の中央から開始するUIactionSheetが必要です。寸法を調整すると、取得できませんでした。

-(IBAction)buttontapped:(id)sender{


     UIView    *showDetailsView = [[UIView alloc]initWithFrame:CGRectMake(0,10, 320, 260)];

        showDetailsView.backgroundColor = [UIColor whiteColor];

        UILabel  *name =[[UILabel alloc] init];
        [name setFrame:CGRectMake(10, 40,250, 50)];
        name.textAlignment = UITextAlignmentLeft;
        name.backgroundColor = [UIColor clearColor];
        name .font=[UIFont fontWithName:@"arial" size:12];
        name.text=@"Name";
        [showDetailsView addSubview:name];


        UIActionSheet *aac = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil  otherButtonTitles:@"Close", nil];
        aac.actionSheetStyle = UIActionSheetStyleAutomatic;
        [aac addSubview:showDetailsView];
        [aac setFrame:CGRectMake(0,0,320,400)];
        [aac showInView:self.view];

}

下から追加されているのがわかりますが、次の図のように画面の中央まで拡大していません。高さを上げる必要があります。

4

4 に答える 4

1

SOの答えの1つから、私はこの方法を取得し、それは魅力のように機能します:)

-(void)setActionSheetHeight
{
    CGRect actionSheetRect = self.myActionSheet.frame;
    CGFloat orgHeight = actionSheetRect.size.height;
    actionSheetRect.origin.y -= 214; //height of picker
    actionSheetRect.size.height = orgHeight+214;
    self.myActionSheet.frame = actionSheetRect;

    [self.myPicker setShowsSelectionIndicator:YES];

    CGRect pickerRect = self.myPicker.frame;
    pickerRect.origin.y = orgHeight;
    self.myPicker.frame = pickerRect;
}

myActionSheetこれが1つのiVarUIActionSheetです。これが1つの
iVarです。 静的な値の代わりに、希望の値を設定でき、それに応じての高さを設定します。myPickerUIPickerView
214UIActionSheet

アクションシートが表示された後、つまりコード行の種類の
後に呼び出す必要があります。アクションシート[self.myActionSheet showFromTabBar:self.tabBarController.tabBar];のメソッドを呼び出した後を意味します。show

于 2012-12-27T06:51:39.337 に答える
0

これを使って:

[aac setBounds:CGRectMake(0,0,320,400)];
于 2012-12-27T05:35:20.477 に答える
0

UIActionSheetは、画面の下から表示されるように設計されています。

中央に表示できるのはiPadのみです。iPhoneでは表示できません。

要件に合わせてカスタムAlertviewを使用できます。

https://github.com/alokard/BlockAlertView

于 2012-12-27T05:53:11.833 に答える
0

アクションシートを提示するときは、適切なメッセージを送信して提示する必要があります。参照する

showFromRect:inView:animated:

showInView:

showInView:の場合、下部がビューコントローラの中央の高さにあり、上部がビューコントローラの上部に位置合わせされた非表示のビューを作成できます。

showFromRect:inView:animated:の場合、アクションシートを固定する必要のあるUIViewがある場合は、そこで使用できます。

于 2012-12-27T06:26:50.440 に答える