更新:這是一個iOS 10問題。這仍然可以在iOS 9中使用。iOS 10期:UIScrollView不滾動,即使設置ContentSize時
這是......有趣的。
我只是轉換我的「教學計劃」(「玩具」的應用程序),以斯威夫特3.
它一直致力於爲雨燕1.2在一兩年。
突然間,我的UIScrollView沒有滾動,即使當我將contentSize方法設置爲超越其下限時。
這裏的有關代碼(displayTags程序被調用與被顯示爲中心並且稍微垂直偏移圖像的陣列,導致豎直鏈):
/*******************************************************************************************/
/**
\brief Displays the tags in the scroll view.
\param inTagImageArray the array of tag images to be displayed.
*/
func displayTags (inTagImageArray:[UIImage])
{
self.tagDisplayView!.bounds = self.tagDisplayScroller!.bounds
if (inTagImageArray.count > 0) // We need to have images to display
{
var offset:CGFloat = 0.0 // This will be the vertical offset for each tag.
for tag in inTagImageArray
{
self.displayTag (inTag: tag, inOffset: &offset)
}
}
}
/*******************************************************************************************/
/**
\brief Displays a single tag in the scroll view.
\param inTag a UIImage of the tag to be displayed.
\param inOffset the vertical offset (from the top of the display view) of the tag to be drawn.
*/
func displayTag (inTag:UIImage, inOffset:inout CGFloat)
{
let imageView:UIImageView = UIImageView (image:inTag)
var containerRect:CGRect = self.tagDisplayView!.frame // See what we have to work with.
containerRect.origin = CGPoint.zero
let targetRect:CGRect = CGRect (x: (containerRect.size.width - inTag.size.width)/2.0, y: inOffset, width: inTag.size.width, height: inTag.size.height)
imageView.frame = targetRect
containerRect.size.height = max ((targetRect.origin.y + targetRect.size.height), (containerRect.origin.y + containerRect.size.height))
self.tagDisplayView!.frame = containerRect
self.tagDisplayView!.addSubview (imageView)
self.tagDisplayScroller!.contentSize = containerRect.size
print ("Tag Container Rect: \(containerRect)")
print (" Tag ScrollView Bounds: \(self.tagDisplayScroller!.bounds)")
inOffset = inOffset + (inTag.size.height * 0.31)
}
注意,滾動視圖的contentSize是每個擴展時間標籤被添加。我檢查了一下(看打印報告),這個值似乎是正確的。
The project itself is completely open-source.
This is where this issue manifests(我有其他錯誤,但在我這個釘子一個我會找固定它們)。
我敢肯定,我正在做一些明顯的和骨頭的事情(通常是這種情況)。
任何人有任何想法?
我認爲問題是與uiview,你沒有設置高度.. – Do2
我會檢查出來。故事板中的高度已設置(並在構建時移除),但我不在此處設置。這是完全可能的,你是正確的。我發現在操作系統升級中,無證件(或未明確說明)的東西通常會發生變化。我只在iOS 10中測試過它。我想知道它是否會在iOS 9中再次運行?如果是這樣,我還有另一個需要調整的應用程序。謝謝! –
嗯,我剛剛檢查出來。適用於9.3,但不適用於10.操作系統引入了曲線球。正在設置高度(請參閱我設置框架)。我需要弄清楚爲什麼iOS 10突然不喜歡這樣。我在另一個應用中做了幾乎完全相同的事情,我很擔心。 –