gpt4 book ai didi

iphone - 在触摸事件中获取自定义 SuperView?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:10:31 24 4
gpt4 key购买 nike

我正在开发一个小游戏,我想在 super View 上做一些功能.. super View 是一个自定义类,即 Reflection View..并希望在用户移动 View 时隐藏反射..

这是我所做的..(查看代码中的注释了解详情)

-(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];
}
}

最佳答案

如 0x7fffff 所述,您需要将 super View 转换为自定义 View 。喜欢

[(ReflectionView *)touch.view.superview updateReflection];

如果您确定在父 View 始终是 ReeflectionView 的地方调用它,则使用此方法,否则如果您在父 View 不是反射的地方使用它,您的应用程序将崩溃。然后将其添加到您的代码中

if(touch.view.superview isEqual:[ReflectionView class])
{
[(ReflectionView *)touch.view.superview updateReflection];
}

关于iphone - 在触摸事件中获取自定义 SuperView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16012514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com