2011-07-06 96 views

回答

1

我不知道,我完全理解你的問題。我會做一些假設:

我假設你想要顯示一個圖像的圓形區域,並且圖像被剪切以僅在該圓形內顯示其內容;和

我想你會在用戶移動他/她的手指時移動這個圓圈。

我會假定非裁剪區域是純色。

對於這種情況,我建議創建一個透明PNG圖像文件,其中包含一圈透明度和其他地方的純色背景顏色。你可以把它放在一個可拖放的UIView子類中,當用戶移動他/她的手指時,它將看起來好像圖像被剪切成一個隨手指移動的圓圈。

下面是如何使拖降UIView子類的工作:

http://bynomial.com/blog/?p=77

如果您需要更復雜的行爲,如非純色背景,那麼你可以考慮使用一個帶有視圖CALayer屬性的圖像蒙版。這將會更有效,因爲每次用戶移動手指時都必須修改蒙版。另一個選擇是將CALayer設置爲具有圓角(cornerRadius屬性),設置clipsToBounds = YES,然後在用戶移動手指時適當移動該角。

參考一些的CALayer的屬性,以獲得cornerRadius辦法感(設置cornerRadius =視圖的寬度的一半,這將是一個圓):

http://bynomial.com/blog/?p=52

+0

我很高興幫助! – Tyler

+0

這裏我想定義一個圓圈,我必須從該圓圈創建一個CGRect,並且我有一個函數,它將參數作爲CGRect,所以我只是將該矩形傳遞給該函數。 – darshan