[英]Multiline UILabel and UITextView using Storyboards, Auto Layout and Swift
[英]Using Auto Layout with Dynamic UITextView, UIImageView, and UILabel Heights
我正在嘗試創建一個包含一個帶有2個標簽和文本視圖的圖像視圖的視圖。 每個元素的內容將從SQLite數據庫中讀取,因此我想使用Xcode 5的自動布局根據每個UI的內容更改每個UI元素的高度和它們之間的距離,以有效地利用屏幕空間盡可能。 我在嘗試通過界面生成器中的自動布局來強制執行一些條件,但是我不確定如何實現它們:
我可以通過編程方式完成所有這些操作,但是我想使用自動布局,以便視圖可以輕松適應屏幕尺寸的變化並防止錯誤。 我對自動版面設計的經驗很少,在這種情況下我遇到的復雜規格困擾。 為了使我打算更清楚地創建內容,這是.xib文件的屏幕截圖:
謝謝您的幫助!
看一下自動布局視覺格式語言 。 他們在去年的一些自動布局WWDC視頻中談到了這一點。
這還不完整,但是您將需要在垂直和水平方向上定義約束。 這是完整的,但希望給您一個起步的想法,讓您開始。
// Vertical alignment should be centered
NSArray *constraints = [NSLayoutConstraint
constraintsWithVisualFormat:@"V:|[_imageView]-[_label1]-[_textBlock1]-[label2]-[textBlock2]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:viewsDictionary];
// Tell the views/text blocks to take the entire width. The labels will be fine centered on them I think
NSArray *constraints = [NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-[_imageView]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:viewsDictionary];
NSArray *constraints = [NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-[_textBlock1]-|"
options:nil
metrics:nil
views:viewsDictionary];
NSArray *constraints = [NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-[_textBlock2]-|"
options:nil
metrics:nil
views:viewsDictionary];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.