首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向上移动视图

向上移动视图
EN

Stack Overflow用户
提问于 2010-09-13 11:35:25
回答 1查看 162关注 0票数 0

好的,这听起来可能很简单,但不知怎么的,我无法让这个函数工作。

代码语言:javascript
运行
复制
- (void)setViewMovedUp:(BOOL)movedUp {

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];

    CGRect rect = self.view.frame;
    NSLog(@"%f",self.view.frame.size.height);
    if (movedUp)
    {
        NSLog(@"test Moved Up");
        rect.origin.y += 60;
        rect.size.height -= 300;
    }
    self.view.frame = rect ;
    NSLog(@"%f after:",self.view.frame.size.height);

    [UIView commitAnimations];

}

所有的NSLogs都很好地打印结果,“测试向上移动”出现了,所以我知道上游没有什么问题。

这个函数是我的MainViewController实现文件的一部分(它管理我的窗口应用程序的根视图)。

我想我得打个电话:self.view.frame,,对吗?

没有出现错误或警告,但它只是没有移动,尽管打印出正确的日志。

编辑,这是IB中的层次结构:

再次编辑:我实际上想知道是否允许我将视图向上移动,如果视图位于层次结构的顶部,我们是否允许将视图向上移动?那么在背后会发现什么呢?

EN

回答 1

Stack Overflow用户

发布于 2010-09-13 11:45:51

尝试只删除这三条动画消息。

如果它动了(我想它不会,但是.)

beginAnimations

  • Try

  • 尝试使用setAnimationCurve

将@"moveup“作为第一个参数传递给

如果它不动

  1. 是为该视图设置布局的另一个视图中的视图?
  2. 是在主线程(而不是后台线程)中调用

的吗?

编辑:更新

你不应该这么做,但试一试

代码语言:javascript
运行
复制
[self.view setNeedsDisplay];

如果不起作用,就在窗户上试试。改变框架应该是自动的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3700001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档