在我的应用程序中,我必须实现星级控制,其中我必须保持浮动值意味着全选图像,半选择图像也是。
但是我无法修改半选图像的代码。
任何人都可以帮我解决如何进行控制的问题。
答案 0 :(得分:1)
如果按如下方式修改“handleTouchAtLocation”,它将起作用。
(void)handleTouchAtLocation:(CGPoint)touchLocation {
if (!self.editable) return;
float newRating = 0;
for(int i = self.imageViews.count - 1; i >= 0; i--) {
UIImageView *imageView = [self.imageViews objectAtIndex:i];
CGFloat currentLocationX = touchLocation.x;
if (currentLocationX > imageView.frame.origin.x) {
if (touchLocation.x > imageView.frame.origin.x +imageView.frame.size.width) {
newRating = i+1;
}
else{
newRating = i+0.5;
}
break;
}
}
self.rating = newRating;
}