objective c - UIView ফ্রেম, সীমানা এবং কেন্দ্র




objective-c ios (4)

আমি ফ্রেম, সীমানা, ইত্যাদি বোঝার জন্য এই ছবিটি সবচেয়ে সহায়ক খুঁজে পেয়েছি।

এছাড়াও ছবিটি frame.size != bounds.size যখন frame.size != bounds.size দয়া করে নোট করুন।

আমি সঠিকভাবে এই বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করব তা জানতে চাই।

আমি বুঝতে পারছি, আমি যে দৃশ্যটি তৈরি করছি সেটির ধারক থেকে frame ব্যবহার করা যেতে পারে। এটি ধারক দৃশ্যে আপেক্ষিক অবস্থান অবস্থান সেট করে। এটি যে দৃশ্য আকার সেট করে।

এছাড়াও আমি তৈরি করছি এমন দৃশ্যটির ধারক থেকে center ব্যবহার করা যেতে পারে। এই সম্পত্তি তার ধারক সম্পর্কিত আপেক্ষিক অবস্থান পরিবর্তন।

অবশেষে, bounds দৃশ্য নিজেই আপেক্ষিক। এটা দৃশ্যের জন্য টেকসই এলাকা পরিবর্তন।

আপনি frame এবং bounds মধ্যে সম্পর্ক সম্পর্কে আরও তথ্য দিতে পারেন? masksToBounds clipsToBounds এবং masksToBounds কি?


আমি মনে করি যদি আপনি CALayer বিন্দু থেকে এটি মনে করেন তবে সবকিছুই আরও স্পষ্ট।

ফ্রেম প্রকৃতপক্ষে দৃশ্য বা স্তরটির একটি স্বতন্ত্র বৈশিষ্ট্য নয়, এটি একটি ভার্চুয়াল সম্পত্তি, যা সীমানা, অবস্থান ( UIView এর কেন্দ্র) থেকে গণনা করা হয় এবং রূপান্তর করে।

সুতরাং মূলত লেয়ার / ভিউ লেআউটগুলি এই তিনটি সম্পত্তি (এবং অ্যাঙ্কর পয়েন্ট) দ্বারা কীভাবে সিদ্ধান্ত নেওয়া হয়, এবং এই তিনটি সম্পত্তি কোনটি অন্য কোনও সম্পত্তি পরিবর্তন করবে না, যেমন রূপান্তর পরিবর্তনের ফলে সীমানা পরিবর্তন হয় না।


এই পোস্টে বিস্তারিত ব্যাখ্যা সঙ্গে খুব ভাল উত্তর আছে। আমি কেবল বলতে চাই যে ফ্রেম, বাউন্ডস, সেন্টার, ট্রান্সফর্ম, WWDC ২011 ভিডিওতে বাউন্ড অরিজিনের অর্থের জন্য চাক্ষুষ উপস্থাপনাটির আরেকটি ব্যাখ্যা আছে। @ 4: 22 পর্যন্ত 20:10 থেকে শুরু হওয়া UIKit রেন্ডারিং বোঝা


এই প্রশ্নটি ইতিমধ্যে একটি ভাল উত্তর আছে, তবে আমি আরো কিছু ছবি দিয়ে এটি সম্পূরক করতে চাই। আমার সম্পূর্ণ উত্তর এখানে।

ফ্রেম মনে রাখতে সাহায্য করার জন্য, আমি একটি প্রাচীর একটি ছবি ফ্রেম মনে। যেহেতু একটি ছবিটি প্রাচীরের যে কোনও জায়গায় সরানো যেতে পারে, দৃশ্যের ফ্রেমের সমন্বয় সিস্টেম তত্ত্বাবধানে রয়েছে। (প্রাচীর = তত্ত্বাবধানে, ফ্রেম = দেখুন)

আমাকে বাঁধা মনে রাখতে সাহায্য করার জন্য, আমি একটি বাস্কেটবল কোর্টের সীমানা মনে করি। বাস্কেটবলটি কোথাও কোর্টের ভিতরেই দৃশ্যের সীমানার সমন্বয় সিস্টেমের মত দৃশ্যের মধ্যেই রয়েছে। (আদালত = দেখুন, বাস্কেটবল / খেলোয়াড়দের = ভিউ ভিতরে কন্টেন্ট)

ফ্রেমের মত, view.center এছাড়াও সুপারভাইভ এর কোঅর্ডিনেটে রয়েছে।

ফ্রেম বনাম Bounds - উদাহরণ 1

হলুদ আয়তক্ষেত্র দৃশ্যের ফ্রেম প্রতিনিধিত্ব করে। সবুজ আয়তক্ষেত্র দৃশ্যের সীমানা প্রতিনিধিত্ব করে। উভয় ছবিতে লাল বিন্দু তাদের সমন্বয় সিস্টেমের মধ্যে ফ্রেম বা সীমানার উত্স উপস্থাপন করে।

Frame
    origin = (0, 0)
    width = 80
    height = 130

Bounds 
    origin = (0, 0)
    width = 80
    height = 130

উদাহরণ 2

Frame
    origin = (40, 60)  // That is, x=40 and y=60
    width = 80
    height = 130

Bounds 
    origin = (0, 0)
    width = 80
    height = 130

উদাহরণ 3

Frame
    origin = (20, 52)  // These are just rough estimates.
    width = 118
    height = 187

Bounds 
    origin = (0, 0)
    width = 80
    height = 130

উদাহরণ 4

এটি উদাহরণ 2 এর মতোই, এই মুহুর্তে দৃশ্যটির সম্পূর্ণ সামগ্রী দেখানো হয়েছে যে এটি দৃশ্যের সীমানায় আটকে না থাকলে এটি দেখতে হবে।

Frame
    origin = (40, 60)
    width = 80
    height = 130

Bounds 
    origin = (0, 0)
    width = 80
    height = 130

উদাহরণ 5

Frame
    origin = (40, 60)
    width = 80
    height = 130

Bounds 
    origin = (280, 70)
    width = 80
    height = 130

আবার, আরো বিস্তারিত সঙ্গে আমার উত্তর জন্য এখানে দেখুন।





bounds