2017-06-29 42 views
0

我正在創建一個iOS應用程序(目標c),並在此應用程序中將UIImageview(可移動)設置爲UIView(如貼紙)。接下來我想做的事情是,當用戶點擊按鈕時,一個新的ViewController將打開,時間UIImageview應該在同一位置(相同高度&寬度)像它的上一個位置,前一個ViewController的高度和寬度。但我不知道如何保存UIImageview的位置並將其用於其他ViewController。我知道如何使用其他ViewController的屬性,但不知道這個特定的屬性。如何獲取按鈕上的UIImageView的高度,寬度,X和Y點擊並將其傳遞給其他ViewController?

+0

你能分享一些你試過的代碼嗎? –

+0

是你的'UIImageview'在某些視圖中還是直接在主視圖中?顯示你的'UIImageview'的層次結構。 –

+0

@RonakChaniyara我以編程方式創建了UIImageView。它在UIView不直接主視圖。 –

回答

1

下面寫代碼按鈕操作方法:

// Convert the co-ordinates of the view into the window co-ordinate space 

    CGRect frame = [yourImgView.superview convertRect:yourImgView.frame toView:self.view]; 

現在,frame會在你完全的viewController視圖您UIImageview框架,你可以傳遞給下一個viewController並使用它 那裏。

+0

嘿!感謝您的快速回復!你能告訴我如何在其他ViewController中訪問這個'CGRect'嗎?因爲我無法訪問此字符串或圖像或數組。 –

+0

將幀作爲第二個vc中的屬性,並在從第一個vc推送該vc時通過。 –

+0

謝謝兄弟!!!你節省了我的時間! –

0

我想你只需要傳遞圖像視圖的框架,然後在控制器中創建新的控制器作爲屬性,以便使用該框架設置新的圖像視圖。

ViewController1:

let imageViewFrame = yourimageView.frame 

Viewcontroller2:

var imageFrame : CGRect? 

Viewcontroller2.imageFrame = imageViewFrame 

newImageView.frame = imageFrame 
+0

謝謝你的回覆,但我想在目標c –

相關問題