UIView定向景观

时间:2011-02-28 12:43:06

标签: iphone uiview

我需要显示一个涵盖整个屏幕的视图。为此,我使用此代码:

self.modalView = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.modalView.opaque = NO;
self.modalView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
CheckBookAppDelegate *delegate = (CheckBookAppDelegate *)[UIApplication sharedApplication].delegate;

UIActivityIndicatorView *myIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
myIndicator.center = CGPointMake(160, 240);
[myIndicator startAnimating];
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
label.text = @"Enviando...";
label.textColor = [UIColor whiteColor];
label.font = [UIFont fontWithName:@"Arial Rounded MT Bold" size:(18.0)];
label.backgroundColor = [UIColor clearColor];
label.opaque = NO;
[label sizeToFit];
[self.modalView addSubview:label];
[self.modalView addSubview:myIndicator];
[delegate.window addSubview:modalView];
[myIndicator release];

问题是我需要在横向模式下显示,因为当显示视图时它出现在纵向模式下(尽管ipad处于横向模式,而viewController也是如此)。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

将转化设置为“modalView”,如下所示:

self.modalView.transform = CGAffineTransformMakeRotation( ( 180 * M_PI ) / 360 );

并将相同的转换应用于“modalView”内的所有子视图,我希望它能够正常工作。

答案 1 :(得分:1)

您是否在viewController上更改了shouldAutorotateToInterfaceOrientation?

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}