为什么没有设置UIView框架?

时间:2013-04-16 10:32:57

标签: iphone ios xcode uiview

我正在尝试一些如此微不足道的事情!不敢相信它不起作用!也许我忽略了一些东西 我的iPhone应用程序中有一个主页。我想现在添加一个最初将在屏幕之外的子视图(即隐藏在右侧,即它的frame.origin.x将是屏幕宽度),然后我想要以翻转方式设置其进入页面的动画。水平并部分显示子视图(仅约半屏)。

[self.mySubview.view setFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width, 0.0,
                                                 [[UIScreen mainScreen] bounds].size.width,
                                                 [[UIScreen mainScreen] bounds].size.height)];
[self.view addSubview:self.mySubview.view];
NSLog(@"frame before x %f", self.mySubview.view.frame.origin.x);

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
      [self.mySubview.view setFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width*(2/5), 0.0,
                                                       [[UIScreen mainScreen] bounds].size.width,
                                                       [[UIScreen mainScreen] bounds].size.height)];
[UIView commitAnimations];
NSLog(@"frame x %f", self.mySubview.view.frame.origin.x);

我试图在iPad上运行它。但是子视图的框架最初没有设置为768.0。此外,动画没有发生。在动画之前和之后,子视图的frame.origin.x仅为0.0。哪里可能出错了?请帮忙。我尝试改变故事板中的自动调整箭头(删除它们,添加它们)......似乎没有任何效果!

2 个答案:

答案 0 :(得分:1)

试试这个

   Someviewcontroller *c = initWithNibName
     c.view.frame = CGRectMake(0, 0, 200, 200);
     [self addSubView:c];

答案 1 :(得分:0)

试试这个:

    self.mySubview

而不是

    self.mySubview.view