2016-09-01 5 views
1

私は、クリックされたボタンに応じて、以下の情報を明らかにする水平スクロール可能なメニューでアプリケーションを作成しました。ラベルのサイズが可変であるため、垂直スクロールビューに重ねて表示される垂直UIStackView内にラベルを配置しました。次に、押されたボタンに応じて、スタックビューのラベルを非表示にするか表示するかを設定します。私はスタックビューが空のスペースを削除して自動的にサイズを変更するはずだと読んだが、これは起こらない。私はもう一度同じボタンをクリックする場合は、コンテンツが適切にサイズ変更します:スウィフトのUIStackView内で隠しコンテンツがサイズ変更されない

After first click
After second click

私は私を必要としないラベルを非表示にする前に、スタックビューのすべての内容を明らかにし、複数のバリアントを、試してみました、とラベルを個別に隠したり表示したりすることはできますが、これを解決するものは何もありません。私が使った最新のコードは以下の通りです。誰かが助けることができれば本当に感謝していますか?私は最終的に解決策を見つけるために管理

おかげ

@IBAction func test1Button(sender: AnyObject) { 
    hideAllInfo() 
    label1.hidden = false 
} 

@IBAction func test2Button(sender: AnyObject) { 
    hideAllInfo() 
    label2.hidden = false 
    label3.hidden = false 
} 

func hideAllInfo() { 
    label1.hidden = true 
    label2.hidden = true 
    label3.hidden = true 
    label4.hidden = true 
    label5.hidden = true 
    label6.hidden = true 
} 

答えて

0

。何らかの理由で、複数の隠し変数を同時に表示すると、自動レイアウトに問題が発生します。明らかになったすべてのコンテンツをさらに別々のスタックビューに置くことで、一度に1つのアイテムしか公開されないように修正することができました。

関連する問題