VideoCaptionView.m 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // _____ _
  2. // |_ _| |_ _ _ ___ ___ _ __ __ _
  3. // | | | ' \| '_/ -_) -_) ' \/ _` |_
  4. // |_| |_||_|_| \___\___|_|_|_\__,_(_)
  5. //
  6. // Threema iOS Client
  7. // Copyright (c) 2014-2020 Threema GmbH
  8. //
  9. // This program is free software: you can redistribute it and/or modify
  10. // it under the terms of the GNU Affero General Public License, version 3,
  11. // as published by the Free Software Foundation.
  12. //
  13. // This program is distributed in the hope that it will be useful,
  14. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. // GNU Affero General Public License for more details.
  17. //
  18. // You should have received a copy of the GNU Affero General Public License
  19. // along with this program. If not, see <https://www.gnu.org/licenses/>.
  20. #import "VideoCaptionView.h"
  21. #import "VideoMessage.h"
  22. #import "RectUtil.h"
  23. @implementation VideoCaptionView
  24. - (UIView *)customViewInRect:(CGRect)rect {
  25. UIView *view = [[UIView alloc] initWithFrame:rect];
  26. view.autoresizingMask = UIViewAutoresizingFlexibleWidth;
  27. UIImage *tmpImage = [UIImage imageNamed:@"Video"];
  28. UIImage *cameraImage = [tmpImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
  29. UIImageView *imageView = [[UIImageView alloc] initWithImage:cameraImage];
  30. imageView.tintColor = [UIColor whiteColor];
  31. imageView.frame = [RectUtil rect:imageView.frame centerVerticalIn:rect];
  32. [view addSubview:imageView];
  33. UILabel *label = [self createLabelInRect:rect];
  34. label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
  35. label.textAlignment = NSTextAlignmentRight;
  36. int seconds = ((VideoMessage *)self.message).duration.intValue;
  37. int minutes = (seconds / 60);
  38. seconds -= minutes * 60;
  39. label.text = [NSString stringWithFormat:@"%d:%02d", minutes, seconds];
  40. [label sizeToFit];
  41. label.frame = [RectUtil rect:label.frame centerVerticalIn:rect round:YES];
  42. label.frame = [RectUtil setXPositionOf:label.frame x:rect.size.width - label.frame.size.width];
  43. [view addSubview:label];
  44. return view;
  45. }
  46. @end