sc_infobar_container_view_controller.mm 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #import "ios/showcase/infobars/sc_infobar_container_view_controller.h"
  5. #import "ios/chrome/browser/ui/infobars/banners/infobar_banner_view_controller.h"
  6. #import "ios/chrome/browser/ui/infobars/presentation/infobar_banner_transition_driver.h"
  7. #import "ios/chrome/browser/ui/infobars/presentation/infobar_modal_transition_driver.h"
  8. #if !defined(__has_feature) || !__has_feature(objc_arc)
  9. #error "This file requires ARC support."
  10. #endif
  11. @implementation ContainerViewController
  12. - (void)viewDidAppear:(BOOL)animated {
  13. [super viewDidAppear:animated];
  14. [self.bannerViewController
  15. setModalPresentationStyle:UIModalPresentationCustom];
  16. self.bannerTransitionDriver = [[InfobarBannerTransitionDriver alloc] init];
  17. self.bannerTransitionDriver.bannerPositioner = self;
  18. self.bannerViewController.transitioningDelegate = self.bannerTransitionDriver;
  19. [self presentViewController:self.bannerViewController
  20. animated:YES
  21. completion:nil];
  22. }
  23. #pragma mark InfobarBannerPositioner
  24. - (CGFloat)bannerYPosition {
  25. return 100;
  26. }
  27. - (UIView*)bannerView {
  28. return self.bannerViewController.view;
  29. }
  30. #pragma mark InfobarModalPositioner
  31. - (CGFloat)modalHeightForWidth:(CGFloat)width {
  32. return 350;
  33. }
  34. @end