2

UIActionSheetについて簡単な質問があります。UIActionsheetの高さを設定するにはどうすればよいですか?setFrameとsetBoundsを試しましたが、何も機能していません。次のアクションシートを使用しています。

NSString *title = UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation) ? @"\n\n\n\n\n\n\n\n\n" : @"\n\n\n\n\n\n\n\n\n\n\n\n" ;
    UIActionSheet *actionSheet = [[UIActionSheet alloc] 
                                  initWithTitle:[NSString stringWithFormat:@"%@%@", title, NSLocalizedString(@"", @"")]
                                  delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Button1",@"Button2", nil];
    [actionSheet setTag: 1];
    //[actionSheet setBounds:CGRectMake(0,0,320,150)];
    //[actionSheet showFromRect:CGRectMake(0,0,100,50) inView: self.parentViewController.tabBarController.view animated:YES];
   // [actionSheet setFrame:CGRectMake(0, 30, 320, 30)];
    actionSheet.actionSheetStyle = UIActionSheetStyleAutomatic;
    [actionSheet showInView:self.parentViewController.tabBarController.view];
     actionSheet = nil;

ここでの私の問題は、アクションシートの高さが現在のビューの高さと等しいことです。UIActionSheetの内容に基づいて高さを自動調整したいと思います。

前もって感謝します、

4

1 に答える 1

4

UIActionSheetのデフォルトの動作は、コンテンツサイズに自動調整することです。frame直接設定しないでください。

タイトルに大量の改行文字を挿入しているため、アクションシートが非常に多くのスペースを占めているのがわかります。これにより、タイトルラベルが本来よりも多くの垂直方向のスペースを占めるようになります。アクションシートをそれほど高くしたくない場合は、そのようにタイトルをハックしないでください。

于 2012-04-20T00:04:24.067 に答える