如何在iPhone的顶部导航状态栏下方显示UIActionSheet

时间:2010-01-14 18:36:10

标签: iphone uinavigationcontroller uinavigationbar uiactionsheet

我想显示从最顶部状态栏下方滑动的操作表。

当我使用navigationBar作为要显示的视图时,工作表仍显示在屏幕底部。我怎样才能显示它来自顶部呢?

我正在调用以下代码的类是'UIViewController'

UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Hello" delegate:nil 
          cancelButtonTitle:nil 
          destructiveButtonTitle:nil 
          otherButtonTitles:nil];

UINavigationBar *navBar = self.navigationController.navigationBar;

[sheet showInView:navBar];

我看到一些应用程序显示了状态栏所在位置的某种抽屉式抽屉。(例如:Twitterrific)这是怎么做到的?

2 个答案:

答案 0 :(得分:4)

Apple已声明他们只是希望所有操作表以相同的方式工作并从同一方向滑入。因此,没有广告方式可以轻松操纵他们的动画等。

答案 1 :(得分:0)

当然有可能。不是很容易,但确实如此。这样做:

UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle...];
sheet.transform = CGAffineTransformmakeRotation(M_PI);
[sheet showInView:view];

还应该转换它所呈现的视图(这里称为视图)。还要:

view.transform = CGAffineTransformMakeRotation(M_PI);

例如使用一个空视图,它只显示此ActionSheet的作业。

我希望这是无法解决的。^^

Sandro Meier