क्या मैं UIEdgeInsets के साथ CGRect को समायोजित कर सकता हूं?




(2)

मुझे एक CGRect मिला है, और मैं इसे UIEdgeInsets साथ समायोजित करना UIEdgeInsets

ऐसा लगता है कि शायद कोई ऐसा फंक्शन हो सकता है जो ऐसा करता हो। मैंने CGRectAdjustByInsets या कुछ अन्य CGRect… प्रीफ़िक्स के साथ फ़ंक्शंस की तलाश की है, लेकिन मुझे कुछ भी नहीं मिला।

क्या मुझे अपना खुद का कोड करना चाहिए?


2018 ... स्विफ्ट 4

कहते हैं कि आप सीमा चाहते हैं,

लेकिन उदाहरण के लिए नीचे दो पिक्सेल कम:

let ei = UIEdgeInsetsMake(0, 0, 2, 0)   // top-left-bottom-right
let smaller = UIEdgeInsetsInsetRect(bounds, ei)

बस।

यदि आप इसे एक पंक्ति के रूप में लिखना पसंद करते हैं, तो यह सिर्फ है

नीचे से दो ले लो:

let newBounds = UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(0, 0, 2, 0))

चियर्स


अभी भी 2018 ... स्विफ्ट 4.2

मुझे लगता है कि नया तरीका बेहतर लग रहा है ...

let newCGRect = oldCGRect.inset(by: UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 8))