2016-12-19 66 views
0

我正在實施UIStackView並動態填充UIStackView。但是當UIStackView中存在單個視圖時,視圖不在UIStackView中。UIStackView不居中排列視圖

我使用橫軸,中心對齊和fill equality分佈在UIStackView。如何通過將視圖置於UIStackView的中心來開始填充UIStackView

UIStackView

enter image description here

當前的行爲我想開始的UIStackView enter image description here

我是新來UIStackView對不起一個簡單的問題的中心增加星星。

我添加排列視圖像;

tmpView = [[UIView alloc] init]; 
tmpImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"iconStar"]]; 
[tmpView addSubview:tmpImageView]; 

[self.horizontalStackView addArrangedSubview:tmpView]; 

我該如何達到理想的行爲?

+0

你可以顯示一個屏幕截圖。很難理解你的意思。 – Fogmeister

+0

請分享這個場景,因爲它很難理解你的意思是什麼? – Fay007

+0

我編輯了我的問題,使其更加清晰。 – TheZipper

回答

0

好吧,這是我的想法。當您將alignment設置爲UIStackView時,此工作方式與堆棧視圖的axis垂直。

因此,在你的情況下,center意味着它將把項目從上到下(它正在做的)集中在一起。

axis的方向上,堆棧視圖將從頂部(軸線的vertical)或從左邊(軸線的horizontal)填滿。

如果你想讓你的圖像像第二個屏幕截圖一樣居中,那麼你可以將axis更改爲.vertical,它會起作用。不知道你的最終目標是什麼,我不能真正推薦一個特定的解決方案。

如果你只想以這種方式對齊單個圖像,那麼這應該沒問題。

+0

就像你說的,我轉換爲垂直堆棧視圖。它適用於第一個圖像,但是當我添加第二個圖像時,它會在第一個圖像下面添加第二個圖像。但我想把它添加到第一個旁邊。 – TheZipper

+0

@TheZipper好吧,那麼它不會居中......解釋你的最終目標是什麼。如果滴灌飼料問題,那麼你會得到滴灌飼料的答案。只是解釋最終目標。沒有你的問題在哪裏提到多個圖像。 – Fogmeister

+0

@TheZipper嘗試再次將'axis'設置爲'horizo​​ntal',但將'distribution'改爲'equalised'。我不知道你在努力達到什麼目的,所以不知道這是否會奏效。 – Fogmeister