2017-06-18 71 views
0

我想要顯示用戶應用程序正在加載數據使用一些進度條和標籤上的數據加載後顯示的視圖。這個視圖不是初始的,所以我不能使用LaunchScreen來達到這些目的。最好的方法是什麼?如何添加半透明背景的子視圖不會中斷,不會受到AutoLayout的影響?

使用AutoLayout後會顯示的視圖,最好是頂部的視圖也使用AutoLayout,但這些AutoLayout不應以任何方式與對方進行交互。

回答

0

首先創建一個自定義UIView類,並根據您的需求定製視圖。即透明背景,使用自動佈局/在代碼的幫助下添加圖像/標籤等。

現在將此自定義視圖(yourSubView)添加到其容器視圖並添加一些約束,以便它放置在正確的位置。

下面的代碼將在所有邊(左,右,上,下)保持80px的空間後添加子視圖,您可以根據需要添加約束。

[yourContainerView addSubview:yourSubView]; 
    yourSubView.translatesAutoresizingMaskIntoConstraints = 
    NO; 

    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:80.0]]; 
    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeRight multiplier:1.0 constant:80.0]]; 
    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeTop multiplier:1.0 constant:80.0]]; 
    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:80.0]];