因此,在Interface Builder中,我在superview中有一个包含两个Image View对象的视图。当应用程序启动时,我想将该视图移出屏幕,以便可以将其移动到适当的位置。该视图在接口的.h文件中被描述为pictureFrame,我将视图映射到outlet pictureFrame。这是我当前的viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect theFrame = [self.pictureFrame frame];
theFrame.origin.y = -290;
}
但是,它似乎没有起作用。我该如何解决这个问题?
答案 0 :(得分:16)
您忘记设置视图的框架:
CGRect theFrame = [self.pictureFrame frame];
theFrame.origin.y = -290;
添加这个并且你很好:
self.pictureFrame.frame = theFrame;
答案 1 :(得分:1)
我倾向于把这些东西当成一个衬里。我发现当我回去看以后会更容易记住发生了什么。
我也更喜欢#define我的视图偏移量来保留我的代码中的幻数。
#define kPictureFrameHorizontalOffset -290
- (void)viewDidLoad {
[super viewDidLoad];
self.pictureFrame.frame = CGRectMake(self.pictureFrame.frame.origin.x + 0,
self.pictureFrame.frame.origin.y + kPictureFrameHorizontalOffset,
self.pictureFrame.frame.size.width + 0,
self.pictureFrame.frame.size.height + 0);
}
虽然它有点冗长,但对我来说效果很好。