You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.5 KiB
93 lines
3.5 KiB
1 year ago
|
//
|
||
|
// NSBundle+YYAdd.h
|
||
|
// YYKit <https://github.com/ibireme/YYKit>
|
||
|
//
|
||
|
// Created by ibireme on 14/10/20.
|
||
|
// Copyright (c) 2015 ibireme.
|
||
|
//
|
||
|
// This source code is licensed under the MIT-style license found in the
|
||
|
// LICENSE file in the root directory of this source tree.
|
||
|
//
|
||
|
|
||
|
#import <Foundation/Foundation.h>
|
||
|
|
||
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
||
|
/**
|
||
|
Provides extensions for `NSBundle` to get resource by @2x or @3x...
|
||
|
|
||
|
Example: ico.png, ico@2x.png, ico@3x.png. Call scaledResource:@"ico" ofType:@"png"
|
||
|
on iPhone6 will return "ico@2x.png"'s path.
|
||
|
*/
|
||
|
@interface NSBundle (YYAdd)
|
||
|
|
||
|
/**
|
||
|
An array of NSNumber objects, shows the best order for path scale search.
|
||
|
e.g. iPhone3GS:@[@1,@2,@3] iPhone5:@[@2,@3,@1] iPhone6 Plus:@[@3,@2,@1]
|
||
|
*/
|
||
|
+ (NSArray<NSNumber *> *)preferredScales;
|
||
|
|
||
|
/**
|
||
|
Returns the full pathname for the resource file identified by the specified
|
||
|
name and extension and residing in a given bundle directory. It first search
|
||
|
the file with current screen's scale (such as @2x), then search from higher
|
||
|
scale to lower scale.
|
||
|
|
||
|
@param name The name of a resource file contained in the directory
|
||
|
specified by bundlePath.
|
||
|
|
||
|
@param ext If extension is an empty string or nil, the extension is
|
||
|
assumed not to exist and the file is the first file encountered that exactly matches name.
|
||
|
|
||
|
@param bundlePath The path of a top-level bundle directory. This must be a
|
||
|
valid path. For example, to specify the bundle directory for a Mac app, you
|
||
|
might specify the path /Applications/MyApp.app.
|
||
|
|
||
|
@return The full pathname for the resource file or nil if the file could not be
|
||
|
located. This method also returns nil if the bundle specified by the bundlePath
|
||
|
parameter does not exist or is not a readable directory.
|
||
|
*/
|
||
|
+ (nullable NSString *)pathForScaledResource:(NSString *)name
|
||
|
ofType:(nullable NSString *)ext
|
||
|
inDirectory:(NSString *)bundlePath;
|
||
|
|
||
|
/**
|
||
|
Returns the full pathname for the resource identified by the specified name and
|
||
|
file extension. It first search the file with current screen's scale (such as @2x),
|
||
|
then search from higher scale to lower scale.
|
||
|
|
||
|
@param name The name of the resource file. If name is an empty string or
|
||
|
nil, returns the first file encountered of the supplied type.
|
||
|
|
||
|
@param ext If extension is an empty string or nil, the extension is
|
||
|
assumed not to exist and the file is the first file encountered that exactly matches name.
|
||
|
|
||
|
|
||
|
@return The full pathname for the resource file or nil if the file could not be located.
|
||
|
*/
|
||
|
- (nullable NSString *)pathForScaledResource:(NSString *)name ofType:(nullable NSString *)ext;
|
||
|
|
||
|
/**
|
||
|
Returns the full pathname for the resource identified by the specified name and
|
||
|
file extension and located in the specified bundle subdirectory. It first search
|
||
|
the file with current screen's scale (such as @2x), then search from higher
|
||
|
scale to lower scale.
|
||
|
|
||
|
@param name The name of the resource file.
|
||
|
|
||
|
@param ext If extension is an empty string or nil, all the files in
|
||
|
subpath and its subdirectories are returned. If an extension is provided the
|
||
|
subdirectories are not searched.
|
||
|
|
||
|
@param subpath The name of the bundle subdirectory. Can be nil.
|
||
|
|
||
|
@return The full pathname for the resource file or nil if the file could not be located.
|
||
|
*/
|
||
|
- (nullable NSString *)pathForScaledResource:(NSString *)name
|
||
|
ofType:(nullable NSString *)ext
|
||
|
inDirectory:(nullable NSString *)subpath;
|
||
|
|
||
|
@end
|
||
|
|
||
|
NS_ASSUME_NONNULL_END
|