FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
AsyncDisplayKit/AsyncDisplayKit/ASNetworkImageNode.h at master · SummerXZX/AsyncDisplayKit · GitHub
SummerXZX
/
AsyncDisplayKit
Public
forked from
facebookarchive/AsyncDisplayKit
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
AsyncDisplayKit
/
AsyncDisplayKit
/
ASNetworkImageNode.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
145 lines (121 loc) · 4.68 KB
Breadcrumbs
AsyncDisplayKit
/
AsyncDisplayKit
/
ASNetworkImageNode.h
Copy path
File metadata and controls
145 lines (121 loc) · 4.68 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//
//
ASNetworkImageNode.h
//
AsyncDisplayKit
//
//
Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
This source code is licensed under the BSD-style license found in the
//
LICENSE file in the root directory of this source tree. An additional grant
//
of patent rights can be found in the PATENTS file in the same directory.
//
#
import
<
AsyncDisplayKit/ASImageNode.h
>
#
import
<
AsyncDisplayKit/ASImageProtocols.h
>
NS_ASSUME_NONNULL_BEGIN
@protocol
ASNetworkImageNodeDelegate;
/*
*
* ASNetworkImageNode is a simple image node that can download and display an image from the network, with support for a
* placeholder image (<defaultImage>). The currently-displayed image is always available in the inherited ASImageNode
* <image> property.
*
* @see ASMultiplexImageNode for a more powerful counterpart to this class.
*/
@interface
ASNetworkImageNode
:
ASImageNode
/*
*
* The designated initializer. Cache and Downloader are WEAK references.
*
* @param cache The object that implements a cache of images for the image node. Weak reference.
* @param downloader The object that implements image downloading for the image node. Must not be nil. Weak reference.
*
* @discussion If `cache` is nil, the receiver will not attempt to retrieve images from a cache before downloading them.
*
* @returns An initialized ASNetworkImageNode.
*/
- (
instancetype
)
initWithCache
:
(nullable
id
<ASImageCacheProtocol>)
cache
downloader
:
(
id
<ASImageDownloaderProtocol>)
downloader
NS_DESIGNATED_INITIALIZER;
/*
*
* Convenience initialiser.
*
* @returns An ASNetworkImageNode configured to use the NSURLSession-powered ASBasicImageDownloader, and no extra cache.
*/
- (
instancetype
)
init
;
/*
*
* The delegate, which must conform to the <ASNetworkImageNodeDelegate> protocol.
*/
@property
(
nullable
,
atomic
,
weak
,
readwrite
)
id
<ASNetworkImageNodeDelegate> delegate;
/*
*
* A placeholder image to display while the URL is loading.
*/
@property
(
nullable
,
atomic
,
strong
,
readwrite
) UIImage *defaultImage;
/*
*
* The URL of a new image to download and display.
*
* @discussion Changing this property will reset the displayed image to a placeholder (<defaultImage>) while loading.
*/
@property
(
nullable
,
atomic
,
strong
,
readwrite
)
NSURL
*
URL
;
/*
*
* Download and display a new image.
*
* @param URL The URL of a new image to download and display.
*
* @param reset Whether to display a placeholder (<defaultImage>) while loading the new image.
*/
- (
void
)
setURL
:
(nullable
NSURL
*)
URL
resetToDefault
:
(
BOOL
)
reset
;
/*
*
* If <URL> is a local file, set this property to YES to take advantage of UIKit's image caching. Defaults to YES.
*/
@property
(
nonatomic
,
assign
,
readwrite
)
BOOL
shouldCacheImage;
/*
*
* If the downloader implements progressive image rendering and this value is YES progressive renders of the
* image will be displayed as the image downloads. Regardless of this properties value, progress renders will
* only occur when the node is visible. Defaults to YES.
*/
@property
(
nonatomic
,
assign
,
readwrite
)
BOOL
shouldRenderProgressImages;
/*
*
* The image quality of the current image. This is a number between 0 and 1 and can be used to track
* progressive progress. Calculated by dividing number of bytes / expected number of total bytes.
*/
@property
(
nonatomic
,
assign
,
readonly
) CGFloat currentImageQuality;
/*
*
* The image quality (value between 0 and 1) of the last image that completed displaying.
*/
@property
(
nonatomic
,
assign
,
readonly
) CGFloat renderedImageQuality;
@end
#
pragma mark
-
/*
*
* The methods declared by the ASNetworkImageNodeDelegate protocol allow the adopting delegate to respond to
* notifications such as finished decoding and downloading an image.
*/
@protocol
ASNetworkImageNodeDelegate
<
NSObject
>
@optional
/*
*
* Notification that the image node finished downloading an image.
*
* @param imageNode The sender.
* @param image The newly-loaded image.
*
* @discussion Called on a background queue.
*/
- (
void
)
imageNode
:
(ASNetworkImageNode *)
imageNode
didLoadImage
:
(UIImage *)
image
;
/*
*
* Notification that the image node started to load
*
* @param imageNode The sender.
*
* @discussion Called on a background queue.
*/
- (
void
)
imageNodeDidStartFetchingData
:
(ASNetworkImageNode *)
imageNode
;
/*
*
* Notification that the image node failed to download the image.
*
* @param imageNode The sender.
* @param error The error with details.
*
* @discussion Called on a background queue.
*/
- (
void
)
imageNode
:
(ASNetworkImageNode *)
imageNode
didFailWithError
:
(
NSError
*)
error
;
/*
*
* Notification that the image node finished decoding an image.
*
* @param imageNode The sender.
*/
- (
void
)
imageNodeDidFinishDecoding
:
(ASNetworkImageNode *)
imageNode
;
@end
NS_ASSUME_NONNULL_END
Back
|
FazBrowse Home
|
New Git URL