如何在点击时应用色调颜色并在发布时重置色调颜色?
how to apply tint color on tap and reset tint color on release?
我是 iOS 的新手。
我在集合视图中有一个水平菜单栏。
我想在用户点击时应用色调颜色。
当用户从按钮上松开手指时,它必须 return 到旧颜色。
每个按钮都是一个单元格
下面是swift代码生成的菜单栏gif
我正在尝试将以下 swift 代码迁移到 Objective C
class MenuCell:BaseCell {
// Type of Class UICollectionViewCell
let imageView: UIImageView = {
let iv = UIImageView()
iv.image = UIImage(named:"home")?.imageWithRenderingMode(.AlwaysTemplate)
iv.tintColor = UIColor.rgb(91,green:14,blue:13)
}()
// Dont know how to convert below code to Obj C
override var highlighted : Bool {
didSet {
imageView.tintColor = highlighted ? UIColor.whiteColor() : UIColor.rgb(91,green:14,blue:13)
}
}
// Dont know how to convert below code to Obj C
override var selected : Bool {
didSet {
imageView.tintColor = highlighted ? UIColor.whiteColor() : UIColor.rgb(91,green:14,blue:13)
}
}
在Objective C中,自动提示中没有显示 didset 方法(类型:UICollectionViewCell)
目前为止我尝试过的内容如下。
MenuCell.m // Type is UICollectionViewCell
......
self.menuCellIcon.image = [[UIImage imageNamed:@"play.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.menuCellIcon.tintColor = [UIColor
colorWithRed:91/255
green:14/255
blue:13/255
alpha:1];
self.menuCellIcon.translatesAutoresizingMaskIntoConstraints = false;
您可以覆盖 setHighlighted
/ setSelected
:
- (void)setHighlighted:(BOOL)highlighted {
[super setHighlighted:highlighted];
// your tint color code
}
- (void)setSelected:(BOOL)selected {
[super setSelected:selected];
// your tint color code
}
我是 iOS 的新手。
我在集合视图中有一个水平菜单栏。
我想在用户点击时应用色调颜色。
当用户从按钮上松开手指时,它必须 return 到旧颜色。
每个按钮都是一个单元格
下面是swift代码生成的菜单栏gif
我正在尝试将以下 swift 代码迁移到 Objective C
class MenuCell:BaseCell {
// Type of Class UICollectionViewCell
let imageView: UIImageView = {
let iv = UIImageView()
iv.image = UIImage(named:"home")?.imageWithRenderingMode(.AlwaysTemplate)
iv.tintColor = UIColor.rgb(91,green:14,blue:13)
}()
// Dont know how to convert below code to Obj C
override var highlighted : Bool {
didSet {
imageView.tintColor = highlighted ? UIColor.whiteColor() : UIColor.rgb(91,green:14,blue:13)
}
}
// Dont know how to convert below code to Obj C
override var selected : Bool {
didSet {
imageView.tintColor = highlighted ? UIColor.whiteColor() : UIColor.rgb(91,green:14,blue:13)
}
}
在Objective C中,自动提示中没有显示 didset 方法(类型:UICollectionViewCell)
目前为止我尝试过的内容如下。
MenuCell.m // Type is UICollectionViewCell
......
self.menuCellIcon.image = [[UIImage imageNamed:@"play.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.menuCellIcon.tintColor = [UIColor
colorWithRed:91/255
green:14/255
blue:13/255
alpha:1];
self.menuCellIcon.translatesAutoresizingMaskIntoConstraints = false;
您可以覆盖 setHighlighted
/ setSelected
:
- (void)setHighlighted:(BOOL)highlighted {
[super setHighlighted:highlighted];
// your tint color code
}
- (void)setSelected:(BOOL)selected {
[super setSelected:selected];
// your tint color code
}