কেউ আমাকে ব্যাখ্যা করতে পারেন যে একটি ইনসেটস ইনসেট সম্পত্তি কীসের UIScrollView
জন্য ব্যবহৃত হয়? এবং সম্ভবত একটি উদাহরণ প্রদান?
কেউ আমাকে ব্যাখ্যা করতে পারেন যে একটি ইনসেটস ইনসেট সম্পত্তি কীসের UIScrollView
জন্য ব্যবহৃত হয়? এবং সম্ভবত একটি উদাহরণ প্রদান?
উত্তর:
এটি কন্টেন্ট ভিউ এবং এনকোলেসিং স্ক্রোল ভিউয়ের মধ্যে ইনসেটের দূরত্ব নির্ধারণ করে।
OBJ-সি
aScrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 7.0);
সুইফ্ট 5.0
aScrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 7.0)
স্ক্রোল ভিউ সম্পর্কিত একটি আইওএস রেফারেন্স লাইব্রেরি নিবন্ধ এখানে একটি তথ্যমূলক স্ক্রিনশট রয়েছে (ডুমুর 1-3) - আমি এটি এখানে পাঠ্যের মাধ্যমে প্রতিলিপি করব:
_|←_cW_→_|_↓_
| |
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
_|_______|___
↑
(cH = contentSize.height; cW = contentSize.width)
স্ক্রোল ভিউতে সামগ্রীর ভিউ প্লাসটি নির্দিষ্ট কন্টেন্ট ইনসেটগুলি যে কোনও প্যাডিং সরবরাহ করে।
padding
সম্পত্তির অনুরূপ ।
যখন জবলের উত্তরটি সামগ্রী ইনসেটের দুর্দান্ত বর্ণনা, তবে কখন এটি ব্যবহার করবেন সে প্রশ্নের উত্তর দেয় না। আমি তার চিত্রগুলি থেকে ধার করব:
_|←_cW_→_|_↓_
| |
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
|content|
-------------↑-
এটি করার পরে আপনি যা পান তা কিন্তু আপনি যখন স্ক্রোল করবেন তখন এর কার্যকারিতা কেবল তা দেখায়:
_|←_cW_→_|_↓_
|content| ← content is still visible
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
_|_______|___
↑
সামগ্রীর উপরের সারিটি এখনও দৃশ্যমান হবে কারণ এটি এখনও স্ক্রোল দর্শনের ফ্রেমের ভিতরে রয়েছে। শীর্ষ অফসেটটি ভাবার একটি উপায় হ'ল "যখন আমরা সমস্ত উপায়ে স্ক্রোল করি তখন কী পরিমাণ সামগ্রী স্ক্রোল ভিউয়ের নীচে সরিয়ে নেওয়া যায়"
এটি প্রকৃতপক্ষে ব্যবহৃত হয় এমন কোনও জায়গা দেখতে আইফোনের বিল্ট-ইন ফটো অ্যাপ্লিকেশনটি দেখুন। নেভিগেশন বার এবং স্থিতি দণ্ড স্বচ্ছ এবং স্ক্রোল দৃশ্যের সামগ্রীগুলি নীচে দৃশ্যমান। এটি কারণ স্ক্রোল ভিউ এর ফ্রেমটি প্রসারিত করে। তবে এটি যদি সামগ্রীতে অন্তর্ভুক্ত না হয় তবে আপনি কখনই সামগ্রীর শীর্ষটি পরিষ্কার করতে পারবেন না যে স্বচ্ছ নেভিগেশন বার আপনি যখন উপরে যান তখন।
সামগ্রী ইন্টারসেটগুলি এমন সামগ্রী থাকা সমস্যা সমাধান করে যা ব্যবহারকারী ইন্টারফেসের অন্যান্য অংশের নীচে যায় এবং এখনও স্ক্রোল বারগুলি ব্যবহার করে অ্যাক্সেসযোগ্য থাকে। অন্য কথায়, কন্টেন্ট ইনসেটের উদ্দেশ্য ইন্টারঅ্যাকশন অঞ্চলটিকে তার আসল ক্ষেত্রের চেয়ে ছোট করা।
আমাদের পর্দার তিনটি যৌক্তিক ক্ষেত্র রয়েছে সেই ক্ষেত্রে বিবেচনা করুন:
TOP BUTTONS
TEXT
BOTTOM TAB BAR
এবং আমরা চাই যে টেক্সটটি কখনই শীর্ষ বোতামগুলির নীচে স্বচ্ছভাবে হাজির না হয়, তবে আমরা চাই টেক্সট ট্যাব বারের নীচে পাঠ্যটি প্রদর্শিত হবে এবং তবুও স্ক্রোলিংয়ের অনুমতি দিচ্ছি যাতে আমরা বটম ট্যাব বারের নিচে স্বচ্ছভাবে বসে পাঠ্যটিকে আপডেট করতে পারি।
তারপরে আমরা শীর্ষ উত্সকে শীর্ষ বোতামগুলির নীচে এবং বটম ট্যাব বারের নীচে অন্তর্ভুক্ত করার জন্য সেট করব। বটম ট্যাব বার সামগ্রীটির নীচে বসে পাঠ্যে অ্যাক্সেস পেতে আমরা নীচের ইনসেটটি বটম ট্যাব বারের উচ্চতা হিসাবে সেট করব।
ইনসেট ব্যতীত, স্ক্রোলার আপনাকে এতে লিখিত পর্যাপ্ত সামগ্রীটি স্ক্রোল করতে দেয় না। ইনসেটটি সহ, এটি এমন হয় যেন সামগ্রীটির ইনসেটের আকারের অতিরিক্ত "BLANK CONTENT" থাকে। খালি লেখাটি আসল "বিষয়বস্তুর" মধ্যে "ইনসেট" করা হয়েছে - ধারণাটি আমি এইভাবেই মনে করি।
এটি প্যাডিং যুক্ত করতে ব্যবহৃত হয় UIScrollView
ছাড়া contentInset
, একটি টেবিল দৃশ্যটি এরকম:
তারপরে সেট করুন contentInset
:
tableView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0)
প্রভাব নীচের হিসাবে:
ভাল বলে মনে হচ্ছে, তাই না?
এবং আমি অধ্যয়ন করার জন্য একটি ব্লগ লিখি contentInset
, সমালোচনা স্বাগত।
দুর্দান্ত প্রশ্ন।
নিম্নলিখিত উদাহরণটি বিবেচনা করুন ( scroller
এটি একটি ইউআইএসক্রোলভিউ):
float offset = 1000;
[super viewDidLoad];
for (int i=0;i<500; i++) {
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(i * 100, 50, 95, 100)] autorelease];
[label setText:[NSString stringWithFormat:@"label %d",i]];
[self.scroller addSubview:label];
[self.scroller setContentSize:CGSizeMake(self.view.frame.size.width * 2 + offset, 0)];
[self.scroller setContentInset:UIEdgeInsetsMake(0, -offset, 0, 0)];
}
ইনসেটগুলি হ'ল কেবলমাত্র আপনার স্ক্রোলারটিকে যে সামগ্রীটি আপনি চান সেখানে "উইন্ডো" রাখতে বাধ্য করার একমাত্র উপায়। আমি এখনও এই নমুনা কোডটি নিয়ে গণ্ডগোল করছি, তবে ধারণাটি এখানে রয়েছে: আপনার "উইন্ডো" পেতে ইনসেটগুলি ব্যবহার করুন UIScrollView
।