Iphone UIProgressView默认设置为主视图的左上角

Iphone UIProgressView默认设置为主视图的左上角,iphone,uiprogressview,Iphone,Uiprogressview,我的UIProgressView将位于主视图的右上角,即使我将其设置为UIView的子视图(而UIView又是主视图的子视图)。即使我setFrame: 有什么想法吗 if(downloadBar == nil){ downloadBar = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 10, 200, 10)]; } [downloadBar setProgressViewStyle:UIProgressViewStyleDef

我的UIProgressView将位于主视图的右上角,即使我将其设置为UIView的子视图(而UIView又是主视图的子视图)。即使我
setFrame:

有什么想法吗

if(downloadBar == nil){
  downloadBar = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 10, 200, 10)];
}
[downloadBar setProgressViewStyle:UIProgressViewStyleDefault];
[downloadBar setProgress:([download downloadStatus]/100.0f)];
[downloadView addSubview:downloadBar];



// download view initialisation
// this is initalised BEFORE the download bar
    downloadView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 300)];
        [downloadView setBackgroundColor:[UIColor lightGrayColor]];
        [self.view addSubview:downloadView];
        [downloadView retain];

谢谢

我想这取决于你的下载视图。因为downloadBar的原点坐标(0,0)将位于downloadView的原点坐标(0,0)的相同位置。因此,如果您的downloadView位于右上角,则downloadBar将是相同的

downloadView的框架是什么?我已使用downloadView初始代码编辑了OP.:)非常感谢,但是进度视图有一个原点(10,10),所以即使下载视图位于(0,0)(不是),进度视图也应该被(10,10)插入?不,进度视图的原点是相对于下载视图的。如果您的downloadView.frame.origin是(x,y),progressView.frame.origin是(10,10),那么屏幕中的精确坐标将是(x+10,y+10)啊,我明白您的意思了(不是这样的-但多亏了你,我发现了一个愚蠢的错误-我正在用相同的代码在两个地方初始化progress视图,但来源不同,并添加到不同的视图中。:/lol:)谢谢你的帮助:)有一些代表性。