mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:14 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		
							
								
								
									
										83
									
								
								Tweaks/FLEX/Core/Views/FLEXTableView.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								Tweaks/FLEX/Core/Views/FLEXTableView.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| // | ||||
| //  FLEXTableView.m | ||||
| //  FLEX | ||||
| // | ||||
| //  Created by Tanner on 4/17/19. | ||||
| //  Copyright © 2020 FLEX Team. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "FLEXTableView.h" | ||||
| #import "FLEXUtility.h" | ||||
| #import "FLEXSubtitleTableViewCell.h" | ||||
| #import "FLEXMultilineTableViewCell.h" | ||||
| #import "FLEXKeyValueTableViewCell.h" | ||||
| #import "FLEXCodeFontCell.h" | ||||
|  | ||||
| FLEXTableViewCellReuseIdentifier const kFLEXDefaultCell = @"kFLEXDefaultCell"; | ||||
| FLEXTableViewCellReuseIdentifier const kFLEXDetailCell = @"kFLEXDetailCell"; | ||||
| FLEXTableViewCellReuseIdentifier const kFLEXMultilineCell = @"kFLEXMultilineCell"; | ||||
| FLEXTableViewCellReuseIdentifier const kFLEXMultilineDetailCell = @"kFLEXMultilineDetailCell"; | ||||
| FLEXTableViewCellReuseIdentifier const kFLEXKeyValueCell = @"kFLEXKeyValueCell"; | ||||
| FLEXTableViewCellReuseIdentifier const kFLEXCodeFontCell = @"kFLEXCodeFontCell"; | ||||
|  | ||||
| #pragma mark Private | ||||
|  | ||||
| @interface UITableView (Private) | ||||
| - (CGFloat)_heightForHeaderInSection:(NSInteger)section; | ||||
| - (NSString *)_titleForHeaderInSection:(NSInteger)section; | ||||
| @end | ||||
|  | ||||
| @implementation FLEXTableView | ||||
|  | ||||
| + (instancetype)flexDefaultTableView { | ||||
|     if (@available(iOS 13.0, *)) { | ||||
|         return [[self alloc] initWithFrame:CGRectZero style:UITableViewStyleInsetGrouped]; | ||||
|     } else { | ||||
|         return [[self alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; | ||||
|     } | ||||
| } | ||||
|  | ||||
| #pragma mark - Initialization | ||||
|  | ||||
| + (id)groupedTableView { | ||||
|     if (@available(iOS 13.0, *)) { | ||||
|         return [[self alloc] initWithFrame:CGRectZero style:UITableViewStyleInsetGrouped]; | ||||
|     } else { | ||||
|         return [[self alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; | ||||
|     } | ||||
| } | ||||
|  | ||||
| + (id)plainTableView { | ||||
|     return [[self alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; | ||||
| } | ||||
|  | ||||
| + (id)style:(UITableViewStyle)style { | ||||
|     return [[self alloc] initWithFrame:CGRectZero style:style]; | ||||
| } | ||||
|  | ||||
| - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style { | ||||
|     self = [super initWithFrame:frame style:style]; | ||||
|     if (self) { | ||||
|         [self registerCells:@{ | ||||
|             kFLEXDefaultCell : [FLEXTableViewCell class], | ||||
|             kFLEXDetailCell : [FLEXSubtitleTableViewCell class], | ||||
|             kFLEXMultilineCell : [FLEXMultilineTableViewCell class], | ||||
|             kFLEXMultilineDetailCell : [FLEXMultilineDetailTableViewCell class], | ||||
|             kFLEXKeyValueCell : [FLEXKeyValueTableViewCell class], | ||||
|             kFLEXCodeFontCell : [FLEXCodeFontCell class], | ||||
|         }]; | ||||
|     } | ||||
|  | ||||
|     return self; | ||||
| } | ||||
|  | ||||
|  | ||||
| #pragma mark - Public | ||||
|  | ||||
| - (void)registerCells:(NSDictionary<NSString*, Class> *)registrationMapping { | ||||
|     [registrationMapping enumerateKeysAndObjectsUsingBlock:^(NSString *identifier, Class cellClass, BOOL *stop) { | ||||
|         [self registerClass:cellClass forCellReuseIdentifier:identifier]; | ||||
|     }]; | ||||
| } | ||||
|  | ||||
| @end | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn