2015-09-05 47 views
0

我開始使用Xcode與故事板並且通常不會使用swift更改對象的屬性。但是,我的故事板中定義了兩個UITextView對象,並且這兩個對象都在寬度爲316和高度爲36的情節提要中定義。我試圖調整高度以包含不同的文本字符串,但是我在使用不同文本寬度時出現問題運行。當我檢查故事板代碼時,我發現框架是不同的。一個是w 271和h 117,而另一個是w 240和h 128 h。 (他們的x和y設置也不同。)Xcode 6故事板爲UITextView設置錯誤的幀大小

任何人都可以解釋我怎麼能解決這個故事板?它是如何設置在第一位的?我需要手動更改故事板的值嗎?下面是例子:

<textView autoresizesSubviews="NO" opaque="NO" clearsContextBeforeDrawing="NO" userInteractionEnabled="NO" contentMode="scaleAspectFit" ambiguous="YES" misplaced="YES" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" delaysContentTouches="NO" canCancelContentTouches="NO" bouncesZoom="NO" editable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lje-0i-uhe" userLabel="menu textview"> 
<rect key="frame" x="25" y="20" width="271" height="117"/> 


<textView autoresizesSubviews="NO" opaque="NO" clearsContextBeforeDrawing="NO" userInteractionEnabled="NO" contentMode="scaleAspectFit" ambiguous="YES" misplaced="YES" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" delaysContentTouches="NO" canCancelContentTouches="NO" bouncesZoom="NO" editable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Lx-zf-Lh8" userLabel="Kits textview"> 
<rect key="frame" x="0.0" y="0.0" width="240" height="128"/> 

更新 enter image description here 這是現場的樣子:

我也是在故事板更改相框設置,並沒有什麼區別。但是當我調試代碼時,我可以看到新的框架設置,這就是我發佈此問題的原因。

更新 引起該問題的代碼是:

let fixedWidth = textView.frame.size.width 
    textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max)) 
    let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max)) 
    var newFrame = textView.frame 
    newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height) 
    textView.frame = newFrame; 
    textView.scrollEnabled = false 

當我暫停通過該代碼的固定寬度= 300(高度200)[I在故事板改變了尺寸],但該新尺寸是293它沒有保持固定的寬度。這就是爲什麼我開始研究幀尺寸的原因。

+0

我有另一個行爲正確(IMO),但具有相同的設置(不明確和錯位)的textview。鑑於您認爲我的約束是不正確的,我如何確定哪一個給出了故事板上沒有錯誤的跡象。 – PatriciaW

+0

上面的評論指的是我與馬特進行的擴展討論。他表示我的問題是由不正確的約束造成的。過了一段時間,我找不到任何約束問題。由於這種差異,他似乎刪除了他的評論。 – PatriciaW

回答

0

問題自行解決。我決定添加一個高度約束來規避這個問題。然後我發佈了另一個問題,用textview寬度來概述我的問題。這樣做後,我刪除了高度限制,寬度現在是正確的。我不知道爲什麼它開始工作,因爲新的約束是我開始的。但也許他們不知何故被損壞了。