2012-03-05 46 views
1

我有一個滾動視圖,它上面有一個imageview。我可以放大放置在滾動視圖中的圖像視圖。最重要的是,我有一些uibuttons,它們在放大後不會重新定位。縮放後重新定位UIButtons

如何在縮放後重新定位UIButtons?

請幫 感謝

+0

你有沒有嘗試覆蓋'UIScrollView'的'layoutSubviews'並做你的定位? – 2012-03-05 00:38:15

+0

不,我沒有嘗試..有沒有任何示例代碼來做到這一點? – iOSDev 2012-03-05 00:41:24

+0

請幫忙,仍然卡住:( – iOSDev 2012-03-05 03:46:46

回答

0

你的問題是有點含糊。然而,無論你在做什麼,我相信UIScrollViewDelegate都可以幫到你。

這是滾動視圖的代理,可以讓您知道它何時滾動。我從來沒有得到按鈕的位置,但是對於這個代表,我想你可以將它們放在任何需要的地方。

+0

我已經實現了UIScrollview委託,並能夠成功縮放圖像,但我有圖像視圖上的UIButtons,我需要重新定位縮放 – iOSDev 2012-03-05 00:43:49

1

一個辦法是實施滾動視圖代表的scrollViewDidZoom:委託方法,確定使用UIScrollViewcontentOffsetcontentSize性當前可見的矩形,計算你的按鈕相對於滾動視圖的可見矩形的新位置,並通過按照需要設置其屬性frame將您的按鈕重新定位到該矩形中。

1

正如Fisk提到的那樣,UIScrollViewDelegate應該有所幫助。其中一種代表方法是:

-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale 

如果您實現UIScrollview委託,則應在滾動視圖完成縮放時調用此方法。因此,在此方法中,您可以在縮放後重新定位按鈕:

[yourButton1 setCenter:CGPointMake(newX,newY)]; 

祝你好運。