スーパービューでいくつかの機能を実行したい小さなゲームに取り組んでいます..スーパービューはカスタムクラス、つまりリフレクションビューです..ユーザーがビューを移動したときに反射を非表示にしたい..
これが私がやったことです.. (詳細については、コードのコメントを確認してください)
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
NSLog(@"Touch Began");
frame2 = dragImageView1.frame;
NSLog(@"uiview origin: %@", NSStringFromCGPoint(frame2.origin));
// here i want to get the superview Programatically because i will work on multiple such views and [touch view].superview does not give me the ReflectionView Functions
[_reflectionView1 hideReflection];
UITouch *touch = [[event allTouches] anyObject];
if ([[touch view] tag]!=0) {
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
[[touch view] setFrame:CGRectMake(frame2.origin.x, frame2.origin.y, 125.0 * 1.1, 135.0 * 1.1)];
} else {
[[touch view] setFrame:CGRectMake(frame2.origin.x, frame2.origin.y, 52.08 * 1.1, 63.28 * 1.1)];
}
[self.view bringSubviewToFront:[touch view].superview];
}
}