iOS:SVProgressHUD在使用setContainerView时不显示在中间

iOS:SVProgressHUD在使用setContainerView时不显示在中间,ios,svprogresshud,Ios,Svprogresshud,我使用SVProgressHUD作为加载程序。当我使用setContainerView方法时,加载程序不显示在中间。有人能帮我吗 下面的代码用于显示加载程序 + (void)showLoadingHUDForView:(UIView *)view { if (view != nil) { [SVProgressHUD setRingThickness:3.0]; [SVProgressHUD setContainerView:requiredView];

我使用SVProgressHUD作为加载程序。当我使用setContainerView方法时,加载程序不显示在中间。有人能帮我吗

下面的代码用于显示加载程序

 + (void)showLoadingHUDForView:(UIView *)view {
    if (view != nil) {
        [SVProgressHUD setRingThickness:3.0];
        [SVProgressHUD setContainerView:requiredView];
        [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];
        [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeClear];
        [SVProgressHUD show];
    }
}

解决方案是设置progressHUD相对于中心的偏移,如下所示:

let containerOrigin = requiredView.origin
SVProgressHUD.setOffsetFromCenter(UIOffset(horizontal: -containerOrigin.x, vertical: -containerOrigin.y))

如果您的requiredView包含在另一个视图中,则必须考虑层次结构中的所有父视图,因为progressHUD偏移量似乎与应用程序的窗口相对

R在
viewdidload
methodyes@Maddy中调用此函数时,我在viewdidload中调用此函数的某些位置将显示为viewdidload。从这些方法中,我调用了另外一个包含api请求和响应的方法。每当我调用request,然后调用showHUD方法时。