सकारात्मक चौड़ाई और ऊंचाई आप ऊपरी-बाएं से नीचे दाएं से एक दृश्य खींचते हैं, जबकि नकारात्मक मान नीचे-दाएं से ऊपरी-बाएं से होता है। तो
frame1 = CGRectMake(100, 100, -50, -50)
,
frame2 = CGRectMake(50, 50, 50, 50).
साथ और वास्तव में पूरी तरह से समान है अगर आप frame1 साथ एक दृश्य init, यह स्वतः बदल frame2 को होगा।
लेकिन विचारों के bounds.origin
समान नहीं हैं।Bounds.origin
उस बिंदु को इंगित करता है कि आप दृश्य को "आकर्षित" करते हैं, इसलिए सभी सबव्यू फ़्रेम इस बिंदु पर उत्पन्न होंगे।
उदाहरण के लिए, लैंडस्केप iPhone 6 में, हमने:
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 275, 275)];
leftView.backgroundColor = [UIColor greenColor];
[self.view addSubview:leftView];
UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(667-50, 375-50, -275, -275)];
rightView.backgroundColor = [UIColor blueColor];
[self.view addSubview:rightView];
और हम मिल गया:

हम उस rightView के फ्रेम स्वचालित रूप से सकारात्मक मान में बदल जाता है जो मिलेगा (342, 50, 275, 275), लेकिन इसकी bounts.origin = (-275,-275)
।
और हम subviews जोड़ें:
UIView *leftSubview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
leftSubview.backgroundColor = [UIColor grayColor];
[leftView addSubview:leftSubview];
UIView *rightSubview= [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
rightSubview.backgroundColor = [UIColor grayColor];
[rightView addSubview:rightSubview];

तो सीमा rightView के subview मूल जो हम rightView init इस प्रकार बनाता है।
यदि हम दाएं दृश्य के बाउंड को बाएं में बदलते हैं तो देखें: rightView.bounds = leftView.bounds; फिर दो उप दृश्य स्थान समान हैं, हमने उस जानकारी को खो दिया है जो सही दृश्य की चौड़ाई और ऊंचाई नकारात्मक है।

और हम rightView के बजाय leftView की सीमा बदलने के लिए: CGRect सीमा = leftView.bounds; bounds.origin = CGPointMake (50, 50); leftView.bounds = सीमाएं;

हम देख सकते हैं, अपने subview के frame.origin bounds.origin (ऋण, के साथ साथ नहीं का प्रयोग करके) द्वारा ऑफसेट है।
निष्कर्ष करने के लिए:
view.bounds
अपने सभी subview के स्थान (bounds.origin की भरपाई) निर्धारित करता है, जबकि bounds
अपने superview में अपने स्वयं के स्थान को प्रभावित नहीं करेगा।
यदि आप नकारात्मक चौड़ाई और ऊंचाई के साथ एक दृश्य में प्रवेश करते हैं, तो यह स्वचालित रूप से सकारात्मक हो जाएगा (जो स्थान को नहीं बदलेगा), लेकिन इसकी बाउंड.ऑरिगिन उस बिंदु को इंगित करती है कि आप दृश्य को "आकर्षित" करना शुरू करते हैं।
गूगल कुछ अस्पष्टीकृत कारण के लिए है कि पोस्ट को छिपा दिया है - हम अब (मैं, एक लॉगिन पृष्ठ पर ले जाया हो Google.com से एक मजबूर रीडायरेक्ट) – Adam