Browse Source

Sidebar: use our own view cell code instead of patching demo code which is bound to break

Felix Paul Kühne 11 years ago
parent
commit
65adde79af

+ 3 - 3
AspenProject/VLCMenuTableViewController.m

@@ -10,7 +10,7 @@
 
 #import "VLCMenuTableViewController.h"
 #import "GHRevealViewController.h"
-#import "GHMenuCell.h"
+#import "VLCSidebarViewCell.h"
 #import "Reachability.h"
 #import <QuartzCore/QuartzCore.h>
 #import "VLCWiFiUploadTableViewCell.h"
@@ -171,9 +171,9 @@
         if (cell == nil)
             cell = [VLCWiFiUploadTableViewCell cellWithReuseIdentifier:WiFiCellIdentifier];
     } else {
-        cell = (GHMenuCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+        cell = (VLCSidebarViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
         if (cell == nil)
-            cell = [[GHMenuCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
+            cell = [[VLCSidebarViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
     }
 
     if (section == 0) {

+ 17 - 0
AspenProject/VLCSidebarViewCell.h

@@ -0,0 +1,17 @@
+//
+//  VLCSidebarViewCell.h
+//  VLC for iOS
+//
+//  Created by Felix Paul Kühne on 30.09.13.
+//  Copyright (c) 2013 VideoLAN. All rights reserved.
+//
+//  Refer to the COPYING file of the official project for license.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface VLCSidebarViewCell : UITableViewCell
+
+@property (nonatomic, strong) UIImageView *titleImageView;
+
+@end

+ 57 - 0
AspenProject/VLCSidebarViewCell.m

@@ -0,0 +1,57 @@
+//
+//  VLCSidebarViewCell.m
+//  VLC for iOS
+//
+//  Created by Felix Paul Kühne on 30.09.13.
+//  Copyright (c) 2013 VideoLAN. All rights reserved.
+//
+//  Refer to the COPYING file of the official project for license.
+//
+
+#import "VLCSidebarViewCell.h"
+
+@implementation VLCSidebarViewCell
+
+- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
+    if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
+        self.clipsToBounds = YES;
+        self.backgroundColor = [UIColor colorWithRed:(43.0f/255.0f) green:(43.0f/255.0f) blue:(43.0f/255.0f) alpha:1.0f];
+
+        UIView *bgView = [[UIView alloc] init];
+        bgView.backgroundColor = [UIColor colorWithRed:0.1137 green:0.1137 blue:0.1137 alpha:1.0f];
+        self.selectedBackgroundView = bgView;
+
+        self.imageView.contentMode = UIViewContentModeCenter;
+        self.titleImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 260.0f, 50.0f)];
+        self.titleImageView.contentMode = UIViewContentModeCenter;
+        [self.textLabel.superview addSubview:self.titleImageView];
+
+        self.textLabel.font = [UIFont fontWithName:@"Helvetica" size:([UIFont systemFontSize] * 1.2f)];
+        self.textLabel.shadowOffset = CGSizeMake(0.0f, 1.0f);
+        self.textLabel.shadowColor = [UIColor colorWithWhite:0.0f alpha:0.25f];
+        self.textLabel.textColor = [UIColor whiteColor];
+        self.textLabel.adjustsFontSizeToFitWidth = YES;
+        if ([self.textLabel respondsToSelector:@selector(setAdjustsLetterSpacingToFitWidth:)])
+            self.textLabel.adjustsLetterSpacingToFitWidth = YES;
+        self.textLabel.minimumFontSize = 9.0f;
+        self.textLabel.lineBreakMode = UILineBreakModeTailTruncation;
+
+        UIView *topLine = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [UIScreen mainScreen].bounds.size.height, 1.0f)];
+        topLine.backgroundColor = [UIColor colorWithRed:(16.0f/255.0f) green:(16.0f/255.0f) blue:(16.0f/255.0f) alpha:1.0f];
+        [self.textLabel.superview addSubview:topLine];
+
+        UIView *bottomLine = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 50.0f, [UIScreen mainScreen].bounds.size.height, 1.0f)];
+        bottomLine.backgroundColor = [UIColor colorWithRed:(23.0f/255.0f) green:(23.0f/255.0f) blue:(23.0f/255.0f) alpha:1.0f];
+        [self.textLabel.superview addSubview:bottomLine];
+    }
+    return self;
+}
+
+- (void)layoutSubviews {
+    [super layoutSubviews];
+    self.textLabel.frame = CGRectMake(50.0f, 0.0f, 200.0f, 50.0f);
+    self.titleImageView.frame = CGRectMake(0.0f, 0.0f, 260.0f, 50.0f);
+    self.imageView.frame = CGRectMake(0.0f, 0.0f, 50.0f, 50.0f);
+}
+
+@end

+ 6 - 6
VLC for iOS.xcodeproj/project.pbxproj

@@ -201,7 +201,6 @@
 		7D93044817B687C90054EAC6 /* VLCLocalNetworkListCell~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D93044617B687C90054EAC6 /* VLCLocalNetworkListCell~ipad.xib */; };
 		7D93044917B687C90054EAC6 /* VLCLocalNetworkListCell~iphone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D93044717B687C90054EAC6 /* VLCLocalNetworkListCell~iphone.xib */; };
 		7D93045317B6A0DF0054EAC6 /* VLCMenuTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D93045217B6A0DF0054EAC6 /* VLCMenuTableViewController.m */; };
-		7D93045617B6A5C00054EAC6 /* GHMenuCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D93045517B6A5C00054EAC6 /* GHMenuCell.m */; };
 		7D93045917B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D93045817B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.m */; };
 		7D93045B17B6ACCF0054EAC6 /* VLCWiFiUploadTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D93045A17B6ACCF0054EAC6 /* VLCWiFiUploadTableViewCell.xib */; };
 		7D94FCDF16DE7D1000F2623B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D94FCDE16DE7D1000F2623B /* UIKit.framework */; };
@@ -212,6 +211,7 @@
 		7D94FCF816DE7D1100F2623B /* VLCPlaylistViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D94FCF716DE7D1100F2623B /* VLCPlaylistViewController.m */; };
 		7D94FCFB16DE7D1100F2623B /* VLCMovieViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D94FCFA16DE7D1100F2623B /* VLCMovieViewController.m */; };
 		7D9529531732EFCA006F5B40 /* VLCAboutViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D9529521732EFCA006F5B40 /* VLCAboutViewController~ipad.xib */; };
+		7D9F7FB117F969B0000A6500 /* VLCSidebarViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D9F7FB017F969B0000A6500 /* VLCSidebarViewCell.m */; };
 		7DA6209B170A0CE500643D11 /* VLCPlaylistTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DA6209A170A0CE500643D11 /* VLCPlaylistTableViewCell.m */; };
 		7DA8B0FB173318E80029698C /* SourceCodePro-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7DA8B0F9173318E80029698C /* SourceCodePro-Regular.ttf */; };
 		7DADC55F1704FABF001DAC63 /* OBSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DADC55E1704FABF001DAC63 /* OBSlider.m */; };
@@ -643,8 +643,6 @@
 		7D93044717B687C90054EAC6 /* VLCLocalNetworkListCell~iphone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "VLCLocalNetworkListCell~iphone.xib"; path = "../Resources/VLCLocalNetworkListCell~iphone.xib"; sourceTree = "<group>"; };
 		7D93045117B6A0DF0054EAC6 /* VLCMenuTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCMenuTableViewController.h; sourceTree = "<group>"; };
 		7D93045217B6A0DF0054EAC6 /* VLCMenuTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCMenuTableViewController.m; sourceTree = "<group>"; };
-		7D93045417B6A5C00054EAC6 /* GHMenuCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GHMenuCell.h; path = ImportedSources/GHSidebarNav/Demo/GHMenuCell.h; sourceTree = SOURCE_ROOT; };
-		7D93045517B6A5C00054EAC6 /* GHMenuCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GHMenuCell.m; path = ImportedSources/GHSidebarNav/Demo/GHMenuCell.m; sourceTree = SOURCE_ROOT; };
 		7D93045717B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCWiFiUploadTableViewCell.h; sourceTree = "<group>"; };
 		7D93045817B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCWiFiUploadTableViewCell.m; sourceTree = "<group>"; };
 		7D93045A17B6ACCF0054EAC6 /* VLCWiFiUploadTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCWiFiUploadTableViewCell.xib; path = Resources/VLCWiFiUploadTableViewCell.xib; sourceTree = SOURCE_ROOT; };
@@ -667,6 +665,8 @@
 		7D9B6B0A17C9626000F9425D /* sl */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = sl; path = "sl.lproj/badgeUnread@2x~iphone.png"; sourceTree = "<group>"; };
 		7D9B6B0B17C9626000F9425D /* sl */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = sl; path = "sl.lproj/badgeUnread~ipad.png"; sourceTree = "<group>"; };
 		7D9B6B0C17C9626000F9425D /* sl */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = sl; path = "sl.lproj/badgeUnread~iphone.png"; sourceTree = "<group>"; };
+		7D9F7FAF17F969B0000A6500 /* VLCSidebarViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCSidebarViewCell.h; sourceTree = "<group>"; };
+		7D9F7FB017F969B0000A6500 /* VLCSidebarViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCSidebarViewCell.m; sourceTree = "<group>"; };
 		7DA62099170A0CE500643D11 /* VLCPlaylistTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCPlaylistTableViewCell.h; sourceTree = "<group>"; };
 		7DA6209A170A0CE500643D11 /* VLCPlaylistTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCPlaylistTableViewCell.m; sourceTree = "<group>"; };
 		7DA8B0F9173318E80029698C /* SourceCodePro-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceCodePro-Regular.ttf"; sourceTree = "<group>"; };
@@ -1166,6 +1166,8 @@
 				7D2339AD176DE72E008D223C /* VLCOpenNetworkStreamViewController.m */,
 				7D93045717B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.h */,
 				7D93045817B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.m */,
+				7D9F7FAF17F969B0000A6500 /* VLCSidebarViewCell.h */,
+				7D9F7FB017F969B0000A6500 /* VLCSidebarViewCell.m */,
 			);
 			name = Menu;
 			sourceTree = "<group>";
@@ -1175,8 +1177,6 @@
 			children = (
 				7D31001B17B64AE100E6516D /* GHRevealViewController.h */,
 				7D31001C17B64AE100E6516D /* GHRevealViewController.m */,
-				7D93045417B6A5C00054EAC6 /* GHMenuCell.h */,
-				7D93045517B6A5C00054EAC6 /* GHMenuCell.m */,
 			);
 			name = GHSidebarNav;
 			sourceTree = "<group>";
@@ -2146,12 +2146,12 @@
 				7D93044117B67C4F0054EAC6 /* VLCLocalServerListViewController.m in Sources */,
 				7D93044517B684CF0054EAC6 /* VLCLocalNetworkListCell.m in Sources */,
 				7D93045317B6A0DF0054EAC6 /* VLCMenuTableViewController.m in Sources */,
-				7D93045617B6A5C00054EAC6 /* GHMenuCell.m in Sources */,
 				7D93045917B6ACA10054EAC6 /* VLCWiFiUploadTableViewCell.m in Sources */,
 				7D02B0D217B6BE850099030D /* VLCLocalServerFolderListViewController.m in Sources */,
 				7DC72D6317B7ED24008A26D0 /* WhiteRaccoon.m in Sources */,
 				7DC72D6917B820C9008A26D0 /* VLCNetworkLoginViewController.m in Sources */,
 				A7B5315F17E35B6E00EAE4B3 /* VLCThumbnailsCache.m in Sources */,
+				7D9F7FB117F969B0000A6500 /* VLCSidebarViewCell.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};