我UIViews與加入到他們UIGestureRecognizers一個3x3的網格,設置像這樣:CGAffineTransformScale不結垢手勢區域
它的工作方式是,上輕敲方擴大其使用CGAffineTransformScale 2倍並覆蓋在其他廣場上。問題在於,由於某種原因,觸摸區域保持與1.0尺度相同的尺寸。
我添加使用
CGRect squareFrame = CGRectMake(1 + squareSpacing + ((squareDimension + squareSpacing) * i), topMargin, squareDimension, squareDimension);
SquareView *square = [[SquareView alloc] initWithFrame:squareFrame];
[square setPosition:i];
square.layer.zPosition = 0;
[self.view addSubview:square];
[squaresArray addObject:square];
的平方數的平方在他們的init添加手勢識別:
fingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[self addGestureRecognizer:fingerTap];
分流的功能執行以下操作:
[UIView animateWithDuration:1.0
delay:0.0
usingSpringWithDamping:0.8
initialSpringVelocity:10.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
CGAffineTransform transform = self.transform;
self.transform = CGAffineTransformScale(transform, 2.0, 2.0);
}
completion:nil];
我用紅色標出了觸摸區域。我試圖玩zPosition,但我不知道該怎麼做才能使它工作,我被卡住了。我希望能夠點擊放大的方塊任何地方爲它關閉,但我被限制在紅色區域。
在此先感謝。
編輯:對不起,圖片是如此之大。已添加代碼。
- 史蒂芬
代碼將是比一些圖像無限多的信息。 – CodaFi
@CodaFi對不起,添加它。 –