0
我正在用setTransform方法調整視圖的大小。因爲我不希望視圖變得太小,我得到了這樣的檢查:IOS setTransform和實際邊界/框架
if(view.bounds.size.width > 100 && view.bounds.size.height > 100 && view.bounds.size.width < 300 && view.bounds.size.height < 300){
//..resizing part
}
現在我很困惑。通常我會改變我的觀點:
[view setTransform:scaleTransform];
但由於IM檢查其大小認爲我會懷疑做這樣的事情:
CGAffineTransform scaleTransform = CGAffineTransformScale(view.transform, xScale, yScale);
CGRect newRect = CGRectApplyAffineTransform(view.frame, scaleTransform);
[view setBounds:newRect];
這是正確的還是我失去了聯繫?
這兩件事情是不一樣的。第一個選項實際上會縮放整個視圖及其內容。第二個選項調整視圖邊界而不調整內容大小(更像是裁剪)。現在,如果由於UIAutoResizingMask設置,所有內容都能夠正確調整大小,則結果可能看起來相同。 – Till
所以你的建議是什麼,我不應該使用CGAffineTransformScale,但與setBounds規模? – Oritm
這取決於你的需求。如果調整邊界足夠好,那麼就去第二個選項。 – Till