目前 layout 中含有 selected 属性; 建议再增加一个 highlighted 属性;(有的时候需要通过监听点击事件,设置子视图的状态)
///设置触摸时的高亮
-
(void)mySetTouchHighlighted { if (self.highlightedOpacity != 0) { _oldAlpha = self.layout.alpha; self.layout.alpha = 1 - self.highlightedOpacity; }
if (self.highlightedBackgroundColor != nil) { _oldBackgroundColor = self.layout.backgroundColor; self.layout.backgroundColor = self.highlightedBackgroundColor; }
if (self.highlightedBackgroundImage != nil) { _oldBackgroundImage = self.layout.backgroundImage; self.layout.backgroundImage = self.highlightedBackgroundImage; } }
//恢复触摸时的高亮。
-
(void)myResetTouchHighlighted { if (self.highlightedOpacity != 0) { self.layout.alpha = _oldAlpha; _oldAlpha = 1; }
if (self.highlightedBackgroundColor != nil) { self.layout.backgroundColor = _oldBackgroundColor; _oldBackgroundColor = nil; }
if (self.highlightedBackgroundImage != nil) { self.layout.backgroundImage = _oldBackgroundImage; _oldBackgroundImage = nil; } }