ソースを参照

frosted glass: allow initialization from code instead of xib file

Felix Paul Kühne 10 年 前
コミット
a7f285d704
1 ファイル変更30 行追加16 行削除
  1. 30 16
      Sources/VLCFrostedGlasView.m

+ 30 - 16
Sources/VLCFrostedGlasView.m

@@ -2,7 +2,7 @@
  * VLCFrostedGlasView.m
  * VLC for iOS
  *****************************************************************************
- * Copyright (c) 2013 VideoLAN. All rights reserved.
+ * Copyright (c) 2013-2014 VideoLAN. All rights reserved.
  * $Id$
  *
  * Authors: Carola Nitz <nitz.carola # googlemail.com>
@@ -21,26 +21,40 @@
 
 @implementation VLCFrostedGlasView
 
-
 - (id)initWithCoder:(NSCoder *)aDecoder
 {
     self = [super initWithCoder:aDecoder];
-    if (self) {
-        [self setClipsToBounds:YES];
-        if (SYSTEM_RUNS_IOS7_OR_LATER) {
-            if (![self toolbar]) {
-                [self setToolbar:[[UIToolbar alloc] initWithFrame:[self bounds]]];
-                [self.layer insertSublayer:[self.toolbar layer] atIndex:0];
-                [self.toolbar setBarStyle:UIBarStyleBlack];
-            }
-        } else {
-            if(![self imageview]) {
-                [self setImageview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"playbackControllerBg"]]];
-                [self insertSubview:self.imageview atIndex:0];
-            }
+    if (self)
+        [self setupView];
+
+    return self;
+}
+
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+
+    if (self)
+        [self setupView];
+
+    return self;
+}
+
+- (void)setupView
+{
+    [self setClipsToBounds:YES];
+    if (SYSTEM_RUNS_IOS7_OR_LATER) {
+        if (![self toolbar]) {
+            [self setToolbar:[[UIToolbar alloc] initWithFrame:[self bounds]]];
+            [self.layer insertSublayer:[self.toolbar layer] atIndex:0];
+            [self.toolbar setBarStyle:UIBarStyleBlack];
+        }
+    } else {
+        if(![self imageview]) {
+            [self setImageview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"playbackControllerBg"]]];
+            [self insertSubview:self.imageview atIndex:0];
         }
     }
-    return self;
 }
 
 - (void)layoutSubviews {