ios - CGAffineTransform Identity 与 iOS 8 和 XCode 6 不同(没有自动布局)
<p><p>我有一个动画来添加一个 subview ,使它看起来好像来自用户触摸的内部,然后填满整个屏幕。</p>
<p>同样,当 iOS 应用从用户触摸的地方打开时..</p>
<pre><code>- (void) showView : (UIView *) theview : (CGPoint) thepoint {
CGPoint c = thepoint;
CGFloat tx = c.x - floorf(theview.center.x) + 10;
CGFloat ty = c.y - floorf(theview.center.y) + 100;
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
// Transforms
CGAffineTransform t = CGAffineTransformMakeTranslation(tx, ty);
t = CGAffineTransformScale(t, 0.1, 0.1);
theview.transform = t;
theview.layer.masksToBounds = YES;
;
}
completion:^(BOOL finished) {
}];
}
</code></pre>
<p>上面的代码做了,直到iOS8..在XCode5.1(iOS7 SDK)下构建</p>
<p>但从 iOS8 SDK、XCode6 开始,行为完全不同</p>
<p><em>ZOOM</em> 现在的行为很奇怪。我终于能够发现 iOS8 中的 <code>CGAffineTransformIdentity</code> 行为错误(或者我使用错误?)..</p>
<p>我看到很多人都有这个问题,但他们提到了 AutoLayout。我所有的 View 都是以编程方式创建的。我们不使用 nib 文件。(IB)</p>
<p>如何使用 XCode 6 进行这项工作?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>经过几个小时的努力,我想出了一个解决方案。我只是将它发布给 future 的用户。</p>
<pre><code>- (void) showView : (UIView *) theview : (CGPoint) thepoint {
CGPoint c = thepoint;
CGFloat tx = c.x - (floorf(theview.center.x)) ;
CGFloat ty = c.y - (floorf(theview.center.y));
/* The transformation nowis before the animation block */
CGAffineTransform t = CGAffineTransformMakeTranslation(tx, ty);
t = CGAffineTransformScale(t, 0.1, 0.1);
theview.transform = t;
theview.layer.masksToBounds = YES;
/* Animate only the CGAffineTransformIdentity */
[UIView animateWithDuration:0.8
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
theview.layer.masksToBounds = YES;
;
}
completion:^(BOOL finished) {
}];
}
</code></pre>
<p>但我不知道,为什么它以前适用于 iOS7 SDK 而不是新的 iOS8 SDK。!</p></p>
<p style="font-size: 20px;">关于ios - CGAffineTransform Identity 与 iOS 8 和 XCode 6 不同(没有自动布局),我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/26409849/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/26409849/
</a>
</p>
页:
[1]