1

現在のビューコントローラのタブバーの上に透明なアクションシートをポップアップする必要がありますが、タブバーと重ならないようにする必要があります(タブバーをはっきりと表示する必要があります)。

4

1 に答える 1

0

UIActionsheetに透明な背景を作成するには、デリゲートを設定する必要があります。その後、次の操作を実行できます。

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
    [actionSheet.layer setContents:nil];
}


下からアニメーション化するカスタムUIViewを作成するには、次の操作を実行できます>

bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 250)];
bottomView.backgroundColor = [UIColor redColor];
bottomView.hidden = YES;
[self.view addSubview:bottomView];

UIButton *testButton = [UIButton buttonWithType:UIButtonTypeCustom];
testButton.frame = CGRectMake(20, 50, 280, 40);
testButton.backgroundColor = [UIColor greenColor];
[bottomView addSubview:testButton];

[self animateBottomViewIn];

そして、次の方法があります。

-(void)animateBottomViewIn
{
    bottomView.hidden = NO;
    [UIView animateWithDuration:0.3 animations:^{
        bottomView.frame = CGRectMake(0, self.view.frame.size.height - bottomView.frame.size.height, self.view.frame.size.width, bottomView.frame.size.height);
    } completion:^(BOOL finished) { }];
}

-(void)animateBottomViewOut
{
    [UIView animateWithDuration:0.3 animations:^{
        bottomView.frame = CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, bottomView.frame.size.height);
    } completion:^(BOOL finished) {
        bottomView.hidden = YES;
    }];
}
于 2013-01-08T09:07:55.667 に答える