UIView с анимацией не виден

Я хотел бы сделать MenuView дисплей с анимацией.

Когда я звоню -showSideMenu, MenuView не появляются.

Как мне это исправить?

MenuView.h

#import <UIKit/UIKit.h>

@interface SettingView : UIView

@end

MenuView.m

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self)
    {
        self.frame = CGRectMake(320, 0, 240, 568);
        self.backgroundColor = [UIColor turquoiseColor];
    }
    return self;
}

MasterViewController.m

@property (nonatomic, strong) MenuView* sideMenuView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem* menuButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(showSideMenu:)];
    self.navigationItem.rightBarButtonItem = menuButton;

    self.sideMenuView = [[MenuView alloc]initWithFrame:self.view.frame];
    [self.view addSubview:self.sideMenuView];
}

- (IBAction)showSideMenu:(id)sender
{
    [UIView animateWithDuration:0.3f
                          delay:0.0f
                        options:UIViewAnimationOptionCurveEaseIn
                     animations:^{
                         self.sideMenuView.frame = CGRectMake(80, 0, 240, 568);
                     }
                     completion:^(BOOL finished) {
                     }];
}

1 ответ

Решение

Пара вещей:

  • Поместите NSLog в метод showSideMenu. Это на самом деле огонь?
  • Вы оживляете кадр. У вас есть AutoLayout выключен для этого контроллера представления?
Другие вопросы по тегам