簡體   English   中英

iOS Swift-使用滑塊移動圖像

[英]iOS Swift - moving image with slider

我在使用滑塊移動UIImageView時遇到一些問題。 這是我目前正在使用的代碼:

@IBOutlet weak var titanic: UIImageView!

...

let screenWidth = UIScreen.mainScreen().bounds.width
let titanicWidth = titanic.bounds.size.width
let viewcenter = titanicWidth / 2
let slidervalue = CGFloat(sender.value)
let value = (screenWidth * slidervalue * (1.0 - titanicWidth / screenWidth)) + viewcenter
titanic.center.x = CGFloat(value)
print(value)

實際上,我可以使用以下代碼移動圖像,但是:圖像總是以某種方式“跳回”到屏幕中間的原點位置,而根本不移動滑塊...您有任何想法嗎,這怎么辦發生? 我已經在右邊的檢查器中檢查了一些奇怪的屬性,這些屬性可能會導致這種效果,但是沒有運氣...

除非您在筆尖/故事板上未選中“使用自動布局”復選框,否則您將使用自動布局,因此,如果不使用,則系統會向視圖添加約束。

使用自動版式時,您無法直接修改視圖的框架/邊界/中心,也不能完全修改您描述的內容。 下次觸發布局更新時,視圖將恢復到其約束定義的位置。

您要么需要為整個筆尖/故事板關閉AutoLayout,要么將出口添加到約束中並更改約束的常量值,然后在視圖上調用layoutIfNeeded()來使約束更改生效。

我建議在限制條件上增加出口。 切換到較舊的struts-springs樣式表單設計是一個很大的變化,並且這將對您的視圖控制器產生很大的副作用。 (我個人更喜歡使用 struts-and-springs樣式的表單設計,但是我強迫自己使用AutoLayout,因為這是新的處理方式。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM