@@ -17,10 +17,12 @@ @interface ASButtonNode ()
1717
1818 NSAttributedString *_normalAttributedTitle;
1919 NSAttributedString *_highlightedAttributedTitle;
20+ NSAttributedString *_seletedAttributedTitle;
2021 NSAttributedString *_disabledAttributedTitle;
2122
2223 UIImage *_normalImage;
2324 UIImage *_highlightedImage;
25+ UIImage *_selectedImage;
2426 UIImage *_disabledImage;
2527}
2628
@@ -66,6 +68,8 @@ - (void)updateImage
6668 newImage = _disabledImage;
6769 } else if (self.highlighted && _highlightedImage) {
6870 newImage = _highlightedImage;
71+ } else if (self.selected && _selectedImage) {
72+ newImage = _selectedImage;
6973 } else {
7074 newImage = _normalImage;
7175 }
@@ -84,6 +88,8 @@ - (void)updateTitle
8488 newTitle = _disabledAttributedTitle;
8589 } else if (self.highlighted && _highlightedAttributedTitle) {
8690 newTitle = _highlightedAttributedTitle;
91+ } else if (self.selected && _seletedAttributedTitle) {
92+ newTitle = _seletedAttributedTitle;
8793 } else {
8894 newTitle = _normalAttributedTitle;
8995 }
@@ -126,68 +132,82 @@ - (void)setLaysOutHorizontally:(BOOL)laysOutHorizontally
126132 [self setNeedsLayout ];
127133}
128134
129- - (NSAttributedString *)attributedTitleForState : (ASButtonState )state
135+ - (NSAttributedString *)attributedTitleForState : (ASControlState )state
130136{
131137 ASDN::MutexLocker l (_propertyLock);
132138 switch (state) {
133- case ASButtonStateNormal :
139+ case ASControlStateNormal :
134140 return _normalAttributedTitle;
135141
136- case ASButtonStateHighlighted :
142+ case ASControlStateHighlighted :
137143 return _highlightedAttributedTitle;
138144
139- case ASButtonStateDisabled:
145+ case ASControlStateSelected:
146+ return _seletedAttributedTitle;
147+
148+ case ASControlStateDisabled:
140149 return _disabledAttributedTitle;
141150 }
142151}
143152
144- - (void )setAttributedTitle : (NSAttributedString *)title forState : (ASButtonState )state
153+ - (void )setAttributedTitle : (NSAttributedString *)title forState : (ASControlState )state
145154{
146155 ASDN::MutexLocker l (_propertyLock);
147156 switch (state) {
148- case ASButtonStateNormal :
157+ case ASControlStateNormal :
149158 _normalAttributedTitle = [title copy ];
150159 break ;
151160
152- case ASButtonStateHighlighted :
161+ case ASControlStateHighlighted :
153162 _highlightedAttributedTitle = [title copy ];
154163 break ;
155164
156- case ASButtonStateDisabled:
165+ case ASControlStateSelected:
166+ _seletedAttributedTitle = [title copy ];
167+ break ;
168+
169+ case ASControlStateDisabled:
157170 _disabledAttributedTitle = [title copy ];
158171 break ;
159172 }
160173 [self updateTitle ];
161174}
162175
163- - (UIImage *)imageForState : (ASButtonState )state
176+ - (UIImage *)imageForState : (ASControlState )state
164177{
165178 ASDN::MutexLocker l (_propertyLock);
166179 switch (state) {
167- case ASButtonStateNormal :
180+ case ASControlStateNormal :
168181 return _normalImage;
169182
170- case ASButtonStateHighlighted :
183+ case ASControlStateHighlighted :
171184 return _highlightedImage;
172185
173- case ASButtonStateDisabled:
186+ case ASControlStateSelected:
187+ return _selectedImage;
188+
189+ case ASControlStateDisabled:
174190 return _disabledImage;
175191 }
176192}
177193
178- - (void )setImage : (UIImage *)image forState : (ASButtonState )state
194+ - (void )setImage : (UIImage *)image forState : (ASControlState )state
179195{
180196 ASDN::MutexLocker l (_propertyLock);
181197 switch (state) {
182- case ASButtonStateNormal :
198+ case ASControlStateNormal :
183199 _normalImage = image;
184200 break ;
185201
186- case ASButtonStateHighlighted :
202+ case ASControlStateHighlighted :
187203 _highlightedImage = image;
188204 break ;
189205
190- case ASButtonStateDisabled:
206+ case ASControlStateSelected:
207+ _selectedImage = image;
208+ break ;
209+
210+ case ASControlStateDisabled:
191211 _disabledImage = image;
192212 break ;
193213 }
0 commit comments