ইউআইটিএবলভিউতে বিভাগ শিরোনামের জন্য ডিফল্ট উচ্চতা


125

আমি আমার ইউআইটিএবলভিউতে প্রথম শিরোনামের উচ্চতা নির্ধারণ করতে চাই। অন্যান্য শিরোনামগুলির জন্য আমি তাদের ডিফল্ট উচ্চতা বজায় রাখতে চাই। নীচের কোডটিতে "কিছু ডেফল্ট হাইট" এর জায়গায় আমি কোন মান / ধ্রুবক রাখতে পারি?

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0)
        return kFirstHeaderHeight;

    return someDefaultHeight;
}

ধন্যবাদ


আপনি সন্তুষ্ট না হওয়া পর্যন্ত আপনি কেন বিভিন্ন মূল্যবোধ চেষ্টা করবেন না?
ড্যানিয়েল

4
@ ড্যানিয়েল - অ্যাপল যদি কখনও ডিফল্ট সারি উচ্চতার মান পরিবর্তন করার সিদ্ধান্ত নেয় তবে আমার অ্যাপ্লিকেশনটি এই মানটিকে (কিছু স্বেচ্ছাসেবী পরিমাণে) হার্ড কোড না করে তা নিশ্চিত করতে হবে। এই তথ্যটি কোথাও ঘোষণা করা হলে ধ্রুবক থেকে এই তথ্যটি টানাই ভাল।
মূক্ত

উত্তর:


204

আইওএস 5.0 এর পরে আপনি বেশিরভাগ প্রতিনিধি পদ্ধতিতে ইউআইটিএবল ভিউআউটমেটিক মাত্রাটি ফিরে আসতে পারেন return এটি ডকুমেন্টেশন পৃষ্ঠার নীচে রয়েছে

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section == CUSTOM_SECTION)
    {
        return CUSTOM_VALUE;
    }
    return UITableViewAutomaticDimension;
}

1
হুম .. যেমন আমার UITableViewAutomaticDimensionফিরে আসে -1(হার্ডকোডড কনস্ট্যান্ট) এবং আমি আমার কোনও বিভাগ দেখি না UITableView
স্কাইওয়ান্দ্র

কেন UITableViewAutomaticDimension-1 দেখায় যখন NSLog?
এস 1 ইউ

30
এটি কেবল তখনই কাজ করে যখন আপনি ব্যবহার করছেন: - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)sectionআপনি যদি - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionপদ্ধতিটি প্রয়োগ করছেন তবে এটি কার্যকর হয় না।
সুপারসায়েন

2
এটি লক্ষণীয়, যদি আপনি এটি এবং প্রাক্কলিত প্রতিনিধি পদ্ধতি বাস্তবায়ন করেন এবং ফিরে পান তবে UITableViewAutomaticDimensionএটির শূন্য উচ্চতা থাকবে।
স্যাম সোফেস

4
@ সুপারসায়েন - এটি viewForHeaderInSectionআপনার সাথে ঠিক সেট করা দরকারestimatedSectionHeaderHeight
রবার্ট

48

আমার অ্যাপ্লিকেশনটিতে ডিফল্ট পরীক্ষা করা থেকে দেখে মনে হচ্ছে গ্রুপযুক্ত টেবিলের জন্য ডিফল্টটি 22 এর উচ্চতা এবং অ-গোষ্ঠীযুক্ত টেবিলের জন্য ডিফল্টটি 10 ​​এর উচ্চতা।

যদি আপনি আপনার টেবিলভিউতে সম্পত্তি বিভাগের হাইডারহাইটের মানটি পরীক্ষা করেন যা আপনাকে বলা উচিত।


1
ধন্যবাদ ... আমি এটিকে হার্ড কোড করব। যদিও আমি ইচ্ছা করি এই মানটির জন্য একটি ধ্রুবক ছিল।
মূক্ত

3
আপনার এই পিছনে আছে। UITableViewStyleGrouped22 এবং UITableViewStylePlain10 বছর
মাইকেল গ্রিনিচ

25

আসলে কৌতুক করুন :)

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section == 0)
        return kFirstSectionHeaderHeight;
    return [self sectionHeaderHeight];
}

2
আমি মনে করি আপনি বোঝাতে চেয়েছিলেন return [self.tableView sectionHeaderHeight];, বা আরও ভাল return [tableView sectionHeaderHeight];,। যাইহোক, উভয়ই আমার জন্য -1 ফিরে আসে, সম্ভবত আমি কোনও নিব বা স্টোরিবোর্ড ব্যবহার করছি না বলে।
jk7

7

সম্পূর্ণতার স্বার্থে: আইওএস 7+ তে গ্রুপযুক্ত স্টাইল বিভাগের শিরোনামগুলির উচ্চতা 55.5প্রথম এবং 38নিম্নলিখিত শিরোনামগুলির জন্য। (DCIntrospect দিয়ে পরিমাপ করা)


4

সুইফ্ট ৪.২ এর জন্য আপনার ইউআইটিএবলভিউ.আউটোমেটিক ডাইমেনশন ফিরে আসা উচিত


2

আমি এখানে সঠিক উত্তর কি তা নিশ্চিত নই, তবে আইওএস 5 এর মধ্যে দলবদ্ধ টেবিল দর্শনের জন্য 10 বা 22 টিও সঠিক উচ্চতার মতো বলে মনে হচ্ছে না I'm আমি এই প্রশ্নের উপর ভিত্তি করে 44 ব্যবহার করছি , এবং এটি কমপক্ষে মোটামুটি বলে মনে হচ্ছে সঠিক উচ্চতা।


2

ডিফল্ট উচ্চতা পেতে, কেবল superএটি পরিচালনা করতে দিন:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0)
        return kFirstHeaderHeight;

    return [super tableView:tableView heightForHeaderInSection:section];
}

[super tableView:tableView heightForHeaderInSection:section];আমার জন্য 0 প্রদান করে, সম্ভবত আমি কোনও নিব বা স্টোরিবোর্ড ব্যবহার করছি না বলে।
jk7

1
এটি কেবলমাত্র যদি আপনি ইউআইটিএবলভিউ কনট্রোলারকে সাবক্লাসিং করে থাকেন তবে কাজ করে।
ওয়ালেস

-1

এই কৌতুক করতে হবে

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.section == CUSTOM_SECTION)
    {
        return CUSTOM_VALUE;
    }
    return [tableView rowHeight];
}

আমি মনে করি আপনার অর্থreturn [self sectionHeaderHeight];
টিএমবি

@ টিএমবি [self sectionHeaderHeight];একটি ত্রুটি তৈরি করে। মানে [tableView sectionHeaderHeight];?
jk7
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.