1 回答
TA贡献1806条经验 获得超8个赞
有可能,但是前提是View的Y坐标正好是40,当你隐藏状态栏的时候, Y坐标就变成0了,整个View就会上移。
一般来说,Tabview 子视图的X和Y(0,0)坐标从 开始,而不是从 开始(0,40),因此下面的代码可能不起作用。
UIView.Animate(0.2, () => {
var frame = this.View.Frame;
this.View.Frame = new CoreGraphics.CGRect(frame.X, frame.Y, frame.Width, frame.Height - 40);
this.View.InvalidateIntrinsicContentSize();
this.View.LayoutIfNeeded();
this.View.SetNeedsLayout();
});
不过代码是没有问题的,你只需确保子视图的大小从(0,40)开始,就可以看到效果了。
=======================================更新============ =====================
如果您想要转换视图,请按如下方式编码:
UIView.Animate(2, () =>
{
var frame = this.View.Frame;
this.View.Transform = new CoreGraphics.CGAffineTransform((System.nfloat)0.8, 0, 0, (System.nfloat)0.8, 0, 0);
//change contained parameter can modify the level of transform , and even can back to normal status
this.View.InvalidateIntrinsicContentSize();
this.View.LayoutIfNeeded();
this.View.SetNeedsLayout();
});
回到正常状态,替换为:
this.View.Transform = new CoreGraphics.CGAffineTransform(1, 0, 0, 1, 0, 0);
- 1 回答
- 0 关注
- 106 浏览
添加回答
举报