使用单个Imageview 作为您的概念,这是我的建议如果您随意使用这个,否则使用您的概念,否则去一些第三方,您需要修改透明,在ImageView 上方添加一个Transparent UIView。将 Transparent UIView 的框架设置为 Show 为 (0, 0, ImageView.frame.size.width/2,ImageView.frame.size.height) ,对于 Hide (ImageView.frame.origin.X - 40, 0, ImageView.frame.size.width/2,ImageView.frame.size.height)
例如
展示
TransparentView.hidden = NO;
TransparentView.alpha = 0.1;
[UIView animateWithDuration:0.25 animations:^{
TransparentView.frame = CGRectMake(0,
0,
ImageView.frame.size.width/2,
ImageView.frame.size.height);
TransparentView.alpha = 1.0f;
} completion:^(BOOL finished) {
// do some
}];
隐藏
[UIView animateWithDuration:0.25 animations:^{
TransparentView.frame = CGRectMake(0 - self.view.frame.size.width,
0,
ImageView.frame.size.width/2,
ImageView.frame.size.height);
[TransparentView setAlpha:0.1f];
} completion:^(BOOL finished) {
TransparentView.hidden = YES;
}];