所以我有一個uiview,它是用具有爲用戶存在的高度和寬度的框架初始化的,我希望用戶能夠在此框架內繪製,但是當用戶按下一個按鈕,我想要視圖切斷額外的浪費空間,以便框架只與用戶繪製的一樣大。我試圖做這樣的事情關於裁剪/裁剪視圖
CGRect boundbox = CGPathGetBoundingBox([myPath CGPath]);
boundbox.origin.x = self.frame.origin.x;
boundbox.origin.y = self.frame.origin.y;
self.frame = boundbox;
然而,這並不會刪除多餘的浪費的空間,它只是調整大小的觀點,從而使繪製的內容看起來比以前小。我想要做的就是刪除 那個「空白」,我在想是否可以放大uiview的內容,但我不確定。
爲了澄清我的意思:
紅色邊框面積/框,用戶可以借鑑,在中間的文本是一個圖,當用戶按下一個按鈕,我想要的框架僅在圖2
包圍繪圖像現在可以說,我有以下情形,我已經畫在屏幕中間的圓。
當我再按下按鈕,刻度保持不變,但圈內還是在同樣的位置,但現在我們已經改變了繪圖區,所以圓/繪圖看起來像它切斷像圖4
我想做的事就是這樣,它定位在框架的中間移動繪圖/貝塞爾路徑。這樣紅色區域圍繞藍色圓圈。
不知道該怎麼做,我發現如果我在上面寫的代碼之後立即調用setneedsdisplay,我會得到正確比例的繪圖,但它的繪圖上下文會從右側切下,這是因爲框架的大小調整。我需要做的是移動繪圖,使它位於新框架的中心,不確定我該怎麼做:S – Krewie
您試圖完成的繪圖可能有助於獲得良好的答案。你談到擊中一個會導致你的行爲發生的按鈕。你想要做什麼的全貌? – trumpetlicks
我用一些數字更新了這個問題 – Krewie