আইওএস 7-তে স্টাইল ইউআইটিএবলভিউ স্টাইলগ্রুপযুক্ত আমার ইউআইটিএবলভিউয়ের শীর্ষে কেন অতিরিক্ত প্যাডিং রয়েছে?


635

আইওএস 7 থেকে শুরু করে, আমার UITableViewশিরোনামের শীর্ষে অতিরিক্ত স্থান রয়েছে UITableViewStyleGrouped

এখানে একটি উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

টেবিলভিউটি প্রথম তীর থেকে শুরু হয়, অব্যক্ত প্যাডিংয়ের 35 পিক্সেল রয়েছে, তারপরে সবুজ শিরোনামটি UIViewফিরে আসে viewForHeaderInSection(যেখানে বিভাগটি 0)।

এই 35 পিক্সেলের পরিমাণটি কোথা থেকে আসছে এবং আমি কীভাবে স্যুইচ না করে এ থেকে মুক্তি পেতে পারি তা কী কেউ ব্যাখ্যা করতে পারেন UITableViewStylePlain?


বিঃদ্রঃ:

আইওএস 11 এবং তারপরে:

tableView.contentInsetAdjustmentBehavior = .never

আপনি সর্বশেষ আইওএস 7 ব্যবহার করছেন? এই অসম্পূর্ণতার কিছু প্রকারের (তবে সমস্ত নয় এবং সম্ভবত এটি এক নয়) পরবর্তী দেব পূর্বরূপগুলির সময় নিরাময় করা হয়েছে। আমার জানা উচিত: আমি এত বিলম্ব করেছিলাম যে কয়েকটি সমস্যা অদৃশ্য হয়ে গেছে।
ড্যান রোজনস্টার্ক

উত্তর এখানে দেখুন - stackoverflow.com/a/18986158/1463604
নিশান্ত

সংক্ষিপ্ত উত্তরটি হ'ল এই অতিরিক্ত প্যাডিংটি সম্ভবত টেবিল ভিউ শিরোনামের কারণে (বিভাগ শিরোনামটি নয়), এবং এটি UITableView0.0 এর উচ্চতা সহ একটি শিরোনাম নির্ধারণ করতে পছন্দ করে না। পরীক্ষা করে দেখুন stackoverflow.com/a/31223403/1394534 আরো বিস্তারিত জানার জন্য।
অরেলিন পোর্টে

30
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 0.0f, CGFLOAT_MIN)];নোট: 0.0fশুধু উপেক্ষিত আপনি RECT উচ্চতা এটি ব্যবহার। সুতরাং আমরা সম্ভব নিকটতম থেকে শূন্য সিজিফ্লোট ব্যবহার করি (কমপক্ষে এটি আমার জন্য "কাজ করেছে ... কেবল আদর্শ সমাধান নয়)।
আলেজান্দ্রো ইভভিন

1
@ আলেজান্দ্রোআইভেন আপনার মন্তব্যে আমার রাত্রে সবেমাত্র তৈরি হয়েছে। আমি গ্রুপযুক্ত প্রোটোটাইপ সহ একটি টেবিলভিউ পেয়েছি। আমি নম্বরসেকশনস = ডেটা কোডআউট এবং সংখ্যা নির্ধারণ করছি রোজ = ১। আমি প্রত্যেকের মধ্যে একটি পরিষ্কার জায়গা তৈরি করতে একটি উচ্চতা ফোফারআইএনএসেকশন সেট করি এবং কোনও কারণে ফাঁকা টেবিলহাইডারভিউ হাজির।
রায়ান আলেকজান্ডার

উত্তর:


863

আমাকে নিম্নলিখিত দ্বারা সহায়তা করা হয়েছিল:

YouStoryboard.storyboard> YouViewController> পরিদর্শক বৈশিষ্ট্য> আনচেক - স্ক্রোল ভিউ ইনসেটগুলি সামঞ্জস্য করুন।

এখানে চিত্র বর্ণনা লিখুন


42
আমি মনে করি এটি এজিংস মানগুলির সাথে ছলছল না করে প্যাডিং সরিয়ে দেওয়ার সঠিক উপায় of
হেজেগ

21
এটি আমার পক্ষে কাজ করে না - আমার উপরে একটি অস্বচ্ছ নাভবার রয়েছে এবং এটি বন্ধ হয়ে গেছে এটির নিচে থাকা সামগ্রীকে।
স্লাইক্রেল

5
কাস্টম ব্যবহার করার সময় কাজ করে না collectionview। (যখন টেবিলভিউ ভিতরে থাকে collectionviewcell)
অক্ষিত জাভেরি

5
আমার পক্ষে কাজ করেনি; কেবল যে জিনিসটি কাজ করেছিল তা হ'ল গ্রুপযুক্তের পরিবর্তে প্লেইনটিতে স্যুইচ করা
শিম

28
আমার একটি ধারক দৃশ্যের ভিতরে টেবিলভিউ কনট্রোলার নিয়ে এই সমস্যা ছিল। আমাকে এই সম্পত্তিটি সরাসরি এমবেড করা টেবিলভিউ কনট্রোলারটিতে না রেখে সেট করতে হয়েছিল, তবে কনটেইনার দৃশ্য ধারণ করা ভিউ কন্ট্রোলারে। তারপর এটি কাজ করে।
অ্যান্ডি মর্টিমার

325

আমি এটির সাথে আরও খানিকটা খেললাম এবং দেখে মনে হচ্ছে এটি টেবিলভিউস সেট করার কোনও পার্শ্ব প্রতিক্রিয়া tableHeaderView = nil

কারণ আমার টেবিলভিউতে ডায়নামিকভাবে উপস্থিত হয় tableHeaderView, যখন আমাকে tableHeaderViewনা করে বরং লুকিয়ে রাখা দরকার self.tableView.tableHeaderView = nil;:

self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];

কিছুটা স্বেচ্ছাচারিতা নির্ধারণের চেয়ে আমি এই সমাধানটি আরও ভাল পছন্দ করি contentInset.topকারণ আমি contentInset.topগতিশীলভাবেও ব্যবহার করি । যখনই আমি পুনরায় গণনা contentInset.topকরা ক্লান্তিকর হয় তখন অতিরিক্ত 35px মুছে ফেলার কথা মনে রাখা ।


4
দুর্দান্ত সমাধান! প্রকৃতপক্ষে, আপনার কোড অনুসারে ডিফল্ট টেবিল ভিউ শিরোনাম দর্শন থেকে মুক্তি পেতে আপনাকে এটিকে 0.01f এ সেট করতে হবে।
সাইমন ম্যাগনেলি

2
বিটিডাব্লু, ইন্টারফেস বিল্ডারে একটি ড্রাগ এবং ড্রপ দিয়ে এটি করাও সম্ভব। যাইহোক ধন্যবাদ! :)
রুডল্ফ অ্যাডমকোভিč

8
আপনি স্যার এই জন্য একটি পদক প্রাপ্য
বৈভব গৌতম

7
মনে রাখবেন যে আপনার টেবিল ভিউয়ের শীর্ষে একটি 0.01f উচ্চতার ভিউটির অর্থ হবে বীনাথের সমস্ত কক্ষটি ভুলভাবে বিভক্ত (প্রথম সেলটি যার ওয়াই অরিজিনেশন 0.01, সেল_হাইট + পরবর্তী 0.01, ইত্যাদির পরবর্তী) এর ফলে cells কোষগুলির বিষয়বস্তু বিভ্রান্তিকর হবে (এটি Debug > Color Misaligned Imagesনিজের জন্য সিমুলেটরটি চালু করুন )) আপনি এটি করতে চান না।
সাইমন হোয়াইটকার

2
UITableViewHeaderFooterViewইউআইভিউয়ের পরিবর্তে এটি ব্যবহার করা ভাল । এবং তাত্ত্বিক CGFLOAT_MINহিসাবে 0.01fভাল হিসাবে একই হিসাবে কাজ করে ।
জয়বো

178

আইওএস 7 এর জন্য যদি আপনি কোনও ভিউ কন্ট্রোলারে কোনও সারণীদর্শন বরাদ্দ করে থাকেন তবে আপনি সন্ধান করতে পারেন

self.edgesForExtendedLayout = UIRectEdgeNone;

আপনার সমস্যাটি আমার মত মনে হচ্ছে

হালনাগাদ:

আইওএস 9.x এ পরিবর্তন:

self.edgesForExtendedLayout = UIRectEdge.None

সুইফট 3:

self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)

3
আমার সমতল উপর কাজ UITableView। সমস্যা আসলে আমার থেকে ডালপালা UITableViewএকটি ছিল UIViewControllerভিতরে UINavigationControllerযা টেবিল বিষয়বস্তু 44 পয়েন্ট ড্রপ ডাউন তাই প্রাথমিক কন্টেন্ট আপ পিছনে ছিল না সৃষ্ট navBar। যদিও আমার লেআউটটির সাথে এটির প্রয়োজন ছিল না, সুতরাং এটি কেবল সমস্যাগুলির কারণ হয়েছিল। অবশেষে আমি আমার কোডটি পরিবর্তন করে automaticallyAdjustsScrollViewInsetsযা এতেও কার্যকর হয়েছিল।
ডিবিডি

এই সম্পত্তিটি কেবলমাত্র এমন কন্ট্রোলার যেমন ইউআইএনএভিগেশন কন্ট্রোলারের মধ্যে এম্বেড করা হয়েছে এমন নিয়ন্ত্রকদের দেখার জন্য প্রয়োগ করা হয়। উইন্ডোর রুট ভিউ কন্ট্রোলার এই সম্পত্তিটিতে প্রতিক্রিয়া জানায় না। এই সম্পত্তির ডিফল্ট মান সবই। ..আমার মনে হয় ডিফল্টটি 0 হওয়া উচিত? এর কোনও সুবিধা কোথায়?
দেশ_

5
সুইফট 3 এর সাথে আরও মার্জিত:edgesForExtendedLayout = []
ডেভ বাটন

হ্যালো @ ইয়াহডিক্সন গোলাপী তীরটি তৈরি করতে আপনি কোন সফটওয়্যার ব্যবহার করেন? অগ্রিম ধন্যবাদ
iArezki

174

contentInsetসম্পত্তি UITableViewথেকে উত্তরাধিকার সূত্রে পরিবর্তন করার চেষ্টা করুন UIScrollView

self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, 0, 0);

এটি একটি workaround, কিন্তু এটি কার্যকর


6
contentTableView.contentInset = UIEdgeInsetsMake(-20, 0, -20, 0);আমার পক্ষে সবচেয়ে ভাল কাজ করেছে কারণ উপরে এবং নীচে 20 টি অতিরিক্ত পিক্সেল ছিল।
ব্রায়ান

1
যদিও এই "ব্রুট ফোর্স" সমাধানটি কাজ করে, তবুও আমি মনে করি নীচের অংশগুলি (বিশেষত স্বয়ংক্রিয়ভাবে ইনসেটগুলি সামঞ্জস্য করে) উচ্চতর স্থিত করা উচিত।
eladleb

134
self.automaticallyAdjustsScrollViewInsets = NO;

চেষ্টা করুন, আপনি এটি মোকাবেলা করতে পারেন!


এটি আইওএস 7.0-এ টেবিলহাইডারভিউ লুকানোর জন্য দুর্দান্ত কাজ করে তবে এটি পুরানো সংস্করণগুলিতে সমর্থিত নয়।
ব্রায়ান

আইওএস 7 এর অধীনে দুর্দান্ত কাজ করে
স্ট্যাকরনার

3
গুরুত্বপূর্ণ: আপনি কনটেইনার ভিউ কন্ট্রোলারে এটি করছেন তা নিশ্চিত করুন, যদি আপনার ইউআইটিএবলভিউ এমন একটি নিয়ামকের উপরে স্থাপন করা হয় যা অন্য কোনও নিয়ামককে এম্বেড করা থাকে তবে এম্বেডিং শীর্ষ কন্ট্রোলারে এটি করুন, যেখানে আপনি ইউআইটিবেল ভিউ রাখবেন সেখানে সরাসরি নয় (যেখানে অটোলআউটটি হবে জিনিস যত্ন নিতে)।
জেমস স্টোন

এই চেয়ে ভাল uncheck Adjust scroll view insets। কারণ মাঝে মাঝে আমরা আমাদের ইউআই তৈরির জন্য স্টোরিবোর্ড ব্যবহার করি না।
JW.ZG

এটি আমার পক্ষে কাজ করে। আমি নেভিগেশন বার এবং টেবিলভিউয়ের সাথে ভিউ সংযুক্ত করেছি, এটি আইওএস 11 তে ঘটে না, তবে এটি আইওএস 10-এ ঘটে Thank 10 ধন্যবাদ।
dobiho

78

আপনি যদি সনাক্ত করতে পারেন যে আপনার অ্যাপ্লিকেশনটি iOS7 বা তার বেশি চলছে এবং আপনার টেবিল ভিউ প্রতিনিধিতে (সাধারণত আপনার ইউআইভিউ কনট্রোলার কোডে) এই দুটি পদ্ধতি যুক্ত করা হয়

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}

এটি সম্ভবত একটি মার্জিত সমাধান নয় তবে আমার পক্ষে কাজ করে

সুইফ্ট সংস্করণ:

override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return CGFloat.leastNormalMagnitude
}

override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return CGFloat.leastNormalMagnitude
}

1
এটি আমার পক্ষে কাজ করেছে। ইউআইটিএবলভিউ বিভিন্ন কারণে প্রচুর উপরে স্থান যুক্ত করে। বিশেষত, ওপি সম্পর্কিত, সমস্যাটি কেবলমাত্র গোষ্ঠীযুক্ত স্টাইলের টেবিল দর্শনের জন্য ঘটে। এবং এই সমাধানটি সমস্যার সমাধান করে।
রাজভি

5
আপনি 0.001 এর পরিবর্তে CGFLOAT_MIN ব্যবহার করতে পারেন এটি আপনাকে সিজিএফ্লোটের সবচেয়ে ক্ষুদ্রতম পরম মান দেয়।
eiKatte

2
এটির সঠিক উত্তর হ'ল আসল বৈশিষ্ট্যটি হ'ল প্যাডিং কেবলমাত্র শ্রেণিবদ্ধ স্টাইলের টেবিল দর্শনে রয়েছে এবং আপনি শিরোনাম / পাদচরণ উল্লেখ করলে তা উপেক্ষা করা হবে
জাকুব ট্রুহলি

এটি সঠিক উত্তর হিসাবে চিহ্নিত করা উচিত। ওভাররাইড করার জন্য একটি প্রতিনিধি পদ্ধতি এবং এটি প্রশ্নের উত্তর দেয়। কমপক্ষে প্রথমে চেষ্টা করে দেখুন যদি আপনি এটিকে সমস্ত হ্যাকগুলি নিচে পড়ে থাকেন। টুইট করার চেষ্টা করুন: - (সিজিএফ্লোয়েট) টেবিল ভিউ: (ইউআইটিএলভিউ *) টেবিলের উচ্চতাফোর হিডারআইনসেকশন: (এনএসআইএনটিজার) বিভাগ {// রিটার্ন সিজিএফএলএফএএএমএম; 30.0f ফিরে; }
ম্যাথু ফার্গুসন

নিস! বোনাস হিসাবে, আপনি গ্রুপযুক্ত বিভাগগুলির মধ্যে শীর্ষে এবং আরও কিছুতে শিরোনাম চাইলে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return section == 0 ? 14 : 24 }
ফ্রিক স্যান্ডার্স

55

আমি আমার আসল বাগের কারণ খুঁজে পেয়েছি এবং এটি প্রদর্শন করে একটি নমুনা প্রকল্প তৈরি করেছি। আমি বিশ্বাস করি একটি iOS7 বাগ আছে।

আইওএস 7-র হিসাবে, আপনি যদি গ্রুপযুক্ত শৈলীর সাথে একটি ইউআইটিএবল ভিউ তৈরি করেন তবে প্রথম লেআউটে কোনও প্রতিনিধি সেট না থাকলে আপনি একটি প্রতিনিধি সেট করেন এবং পুনরায় লোডডাটা কল করেন, শীর্ষে একটি 35px স্থান থাকবে যা কখনই চলে না।

আমি এই বাগটি প্রদর্শন করে এই প্রকল্পটি দেখুন: https://github.com/esilverberg/TableViewDelayedDelegateBug

বিশেষত এই ফাইল: https://github.com/esilverberg/TableViewDelayedDelegateBug/blob/master/TableViewDelayedDelegateBug/ViewController.m

যদি লাইন 24 সক্রিয় থাকে,

[self performSelector:@selector(updateDelegate) withObject:nil afterDelay:0.0];

শীর্ষে অতিরিক্ত 35 পিক্সেল স্থান থাকবে। যদি লাইন 27 সক্রিয় থাকে এবং 24 জনকে মন্তব্য করা হয়,

self.tableView.delegate = self;

শীর্ষে কোনও স্থান নেই। এটি টেবিলভিউর কোথাও কোনও ফলাফল কেস করছে এবং ডেলিগেট সেট হয়ে যাওয়ার পরে এবং পুনরায় লোডডাটা কল করার পরে নিজেকে পুনরায় আঁকবে না like


21
আমি যুক্ত করব যে কোনও ডেলিগেট থাকলেও ডেলিগেটের tableView:heightForHeaderInSection:এবং tableView:heightForFooterInSection:0 টি রিটার্ন করলে আপনারও এই সমস্যা হবে। উপরের প্রোটোকল পদ্ধতিগুলি বাস্তবায়ন করা এবং 0.01f ফিরে আসা এটি আমার জন্য স্থির করে।
জন এস্ট্রোপিয়া

1
হ্যাঁ!! আমি 3 তথাকথিত সমাধান চেষ্টা করেছি, এবং এটিই ছিল! উজ্জ্বল, ধন্যবাদ: ডি
হেনরিক এরল্যান্ডসন

নিখুঁত। যে কেউ একটি বাগ রিপোর্ট করেছেন কারণ আমি মনে করি এটি উদ্দেশ্যমূলক আচরণ নয়।
পুষ্পারাজ

দুর্দান্ত খুঁজে! এটি এখনও আইওএস 9-এ ঘটছে (আমরা এক্সআইবি ব্যবহার করছি না) তবে উপস্থাপনকারীটিকে ডিআই-তে সেট করার ফলে ব্যবধানটি ঠিক করা হয়েছে (লোডভিউ বা ভিউআইডিএলডে নয়)। ধন্যবাদ!
জন স্ট্রিকার

1
হেডারের জন্য আনুমানিক উচ্চতা সেট করা আমাকে সহায়তা করেছিল
ভিক্টর

49

"স্ক্রোল দেখুন ইনসেটগুলি সামঞ্জস্য করুন" আনচেক করুন

এখানে চিত্র বর্ণনা লিখুন


আমার অন্য ভিউ কন্ট্রোলারের জন্য আমার এই বিকল্পটি প্রয়োজন ছিল এবং দৃশ্যত আমি যখন নতুন ভিসি তৈরি করলাম তখন পরিবর্তনটি ঘটেছে। এর জন্য ধন্যবাদ!
ডেভিড

হ্যাঁ! কাজ করে, জাস্টো এটি কনটেইনারভিউতে সেট করে এবং কাজ করে!
ফিলিপ এফএমএমবাইল

46

আরেকটি দ্রুত মন্তব্য ... উপর XCode 6.1 এমনকি সেখানে উপরের প্রকাশমান উল্লম্ব স্পেস সাথে একটি বাগ সংশোধন করা হয় UIScrollViews, UITextViewsএবং UITableViews

এখানে চিত্র বর্ণনা লিখুন

কখনও কখনও, এই সমস্যাটি সমাধানের একমাত্র উপায় হ'ল স্টোরিবোর্ডে প্রবেশ করা এবং সমস্যা নিয়ন্ত্রণটিকে টেনে আনুন যাতে পৃষ্ঠায় এটি আর প্রথম সাবভিউ না থাকে ।

এখানে চিত্র বর্ণনা লিখুন

( ওবেদকে আমার এই দিক নির্দেশ করার জন্য ধন্যবাদ ... আমি লক্ষণগুলি প্রদর্শন করতে ও ঠিক করার জন্য কয়েকটি স্ক্রিনশট যুক্ত করতে এই মন্তব্যটি পোস্ট করছি))


1
মনে রাখবেন যে এই বাগ, ত্রুটিযুক্ত সমস্যাটি আইওএস 8-এও ঘটে যদি আপনার পৃষ্ঠায় প্রথম উপ-নিয়ন্ত্রণ হিসাবে যদি আপনার কোনও ইউআইটিেক্সটভিউ থাকে ... তবে এটি কেবল একটি ইউআইটিএবলভিউ সমস্যা নয়।
মাইক গ্লেডহিল

1
সমস্ত সমাধানের মধ্যে কেবল এই হ্যাকটি আমার পক্ষে কাজ করেছিল। একটি অদ্ভুত বাগের জন্য একটি অদ্ভুত সংশোধন। আমি ইউআইটিবেল ভিউয়ের সাথে এই সমস্যার মুখোমুখি হয়েছি।
মেসবাহ

4
1 মিলিয়ন আপনাকে ধন্যবাদ! এটি আমার জন্য কাজ করা একমাত্র সমাধান।
139816

1
(। আমি বিস্মিত করছি তার 18 মাস পরে, এবং পাঠকরা এখনও এই উত্তর আপ ভোট হয় অ্যাপল গম্ভীরভাবে এই সমস্যা এখনো স্থির করেছে?!)
মাইক Gledhill

1
আমার জীবন সংরক্ষিত! ধন্যবাদ। আপনি কি জানেন যে এই সাধারণ ছোট্ট "ফিক্স "টি পেতে কতক্ষণ সময় লেগেছে? grrh।
ম্যাক.স্টেভার

40

অ্যাপল দ্বারা iOS7 এর জন্য এই রূপান্তর গাইড অনুসারে , স্ক্রোল ভিউয়ের সামগ্রী ইনসেটগুলি স্বয়ংক্রিয়ভাবে সামঞ্জস্য হয়েছে। স্বয়ংক্রিয়ভাবে অ্যাডজাস্টসক্রোলভিউইনসেটসের ডিফল্ট মান অ্যাডজাস্টসক্রোলভিউআইনসেটের YES এ সেট করা আছে।

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

self.automaticallyAdjustsScrollViewInsets = NO;

এই কৌশলটি করবে।

সম্পাদনা 1:

এছাড়াও, কেউ চেষ্টা করতে পারে -

self.navigationController.navigationBar.translucent = YES;

এটি শীর্ষে অতিরিক্ত প্যাডিংও সরিয়ে দেয়।


খুব ভাল উত্তর, যদি না এটি প্রশ্নের সঠিক উত্তর দেয় না। এসিলিভার 35px ফাঁক সম্পর্কে কথা বলে তবে iOS7 অতিরিক্ত 20px শিরোনাম যুক্ত করে: স্ট্যাটাস বারের উচ্চতার সমান।
মার্টিন

হাস্যকর সমস্যা। উত্তরের জন্য ধন্যবাদ.
জেনকি

এটি একটি ভিন্ন সমস্যার উত্তর।
entonio

ধন্যবাদ এটি আমার পক্ষে কাজ করেছে, আমার বিশেষ ক্ষেত্রে আমার কাছে একটি ভিউ কন্ট্রোলারে এমবেড থাকা টেবিলভিউ কনট্রোলার ছিল এবং স্বয়ংক্রিয়ভাবে অ্যাডজাস্টসস্ক্রোলভিউআইনেসেটস সেট করে = ভ্যানকন্ট্রোলারে মিথ্যা উপরের ফাঁকটি অদৃশ্য হয়ে গেল
আলেক্সি

39

গোষ্ঠীযুক্ত টেবিলভিউ ব্যবহারের সময়উইউইয়ালপায়ারে সীমানা কাটা এড়াতে এটি ব্যবহার করুন

self.tableView.contentInset = UIEdgeInsetsMake(-35, 0, 0, 0);

অন্য সকলকে চেষ্টা করল। এই যে এক কাজ! থেক্স
মাইকেল

36

উপরের পূর্ববর্তী উত্তরগুলির অনেকগুলি খুব হ্যাকি। অ্যাপল যদি এই অপ্রত্যাশিত আচরণটি স্থির করার সিদ্ধান্ত নেয় তবে ভবিষ্যতে যে কোনও সময় তারা ভাঙবে।

ইস্যুটির মূল:

  1. একটি UITableViewমত 0.0 উচ্চতা সঙ্গে একটি হেডার আছে না। আপনি যা করতে চেষ্টা করছেন তা যদি 0 উচ্চতার সাথে একটি শিরোনাম থাকে তবে আপনি সমাধানটিতে যেতে পারেন।

  2. এমনকি পরে যদি আপনি আপনার শিরোনামকে 0.0 উচ্চ উচ্চতা নির্ধারণ UITableViewকরেন তবে প্রথমে 0.0 এর উচ্চতা সহ একটি শিরোনাম নির্ধারণ করা পছন্দ করে না।

সমাধান:

তারপরে, সর্বাধিক সহজ এবং নির্ভরযোগ্য ফিক্সটি হ'ল যখন আপনি এটি আপনার টেবিল দৃশ্যে নির্ধারণ করেন তখন আপনার শিরোনামের উচ্চতা 0 নয়।

এরকম কিছু কাজ করবে:

// Replace UIView with whatever class you're using as your header below:
UIView *tableViewHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.tableView.bounds.size.width, CGFLOAT_MIN)];
self.tableView.tableHeaderView = tableViewHeaderView;

এরকম কিছু সমস্যা কিছুটা সময় নিয়ে যাবে (সাধারণত, একটি স্ক্রোলের পরে):

// Replace UIView with whatever class you're using as your header below:
UIView *tableViewHeaderView = [[UIView alloc] initWithFrame:CGRectZero];
self.tableView.tableHeaderView = tableViewHeaderView;

অবশেষে, আমি উত্তর খুঁজে পেয়েছি যে কাজ করে। ধন্যবাদ। তদাতিরিক্ত, আমি শিখেছি যে tableView.tableHeaderViewসারি সামগ্রীগুলির উপরে একটি আনুষাঙ্গিক দৃশ্য। আপনার উত্তর না আসা পর্যন্ত আমি পুরো পথ সেকশন হেডারে বিভ্রান্ত ছিলাম।
জো হুয়াং

1
CGFLOAT_MINCGFloat.leastNormalMagnitude18: 12 এ সুইফট 3
ক্লে এলিস

29

স্টোরিবোর্ড:

শুধু আনচেক করুন: Adjust Scroll View Insetsদেখুন কন্ট্রোলারের বিকল্পগুলিতে

এখানে চিত্র বর্ণনা লিখুন

কোড:

self.automaticallyAdjustsScrollViewInsets = false

2
Xcode 7 ব্যবহার আমি দেখতে পাচ্ছি না অ্যাট্রিবিউট পরিদর্শক> লেআউট, যেখানে আমি = self.automaticallyAdjustsScrollViewInsets যোগ করা উচিত মিথ্যা
Alex

দেখুন লোড হয়েছে।
CW0007007

23

এটি হ'ল আইওএস 10 এর সমাধানটি সুইফট 3 ব্যবহার করে:

নীচের পদ্ধতিগুলি প্রয়োগ করে আপনি উপরের এবং নীচের প্যাডিংগুলি থেকে মুক্তি পেতে পারেন UITableViewDelegate

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
{ 
    return CGFloat.leastNormalMagnitude
}

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
{
   return CGFloat.leastNormalMagnitude
}

এসও এর দ্বিতীয় পৃষ্ঠাটি আমাকে সহায়তা করেছে .... আমি জানি না কেন, সম্ভবত অটোমেটিক ডাইমেনশনের কারণে, সম্ভবত ভিএফএল-র সীমাবদ্ধতার কারণে, যাইহোক, আপনাকে ধন্যবাদ! ওজি বু ইস্ত সাহস! : ডি
পেন্টারেক্স

এগুলি বিভাগের শিরোনাম এবং পাদচরণগুলি। প্রশ্নটি পুরো টেবিল শিরোনামের সাথে সম্পর্কিত। এছাড়াও, উভয়ই ডেলিগেট পদ্ধতিতে সুইফট 3 বা আইওএস 10 এর সাথে সুনির্দিষ্ট কিছু নেই (তারা চিরকাল থেকেই ছিল)।
নিকোলাস মিয়ারি

14

আমার ক্ষেত্রে এটিই আমাকে সাহায্য করেছিল। আমি আইওএস 6 কেও সমর্থন করছি।

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
    self.edgesForExtendedLayout = UIRectEdgeNone;
    self.extendedLayoutIncludesOpaqueBars = NO;
    self.automaticallyAdjustsScrollViewInsets = NO;
}

এটি কী করে তা নিশ্চিত নয় তবে এটি পুরোপুরি কার্যকর হয়েছিল। আপনি কিছু ব্যাখ্যা দিতে পারেন?
ম্যাট ওল্ফ

@ ম্যাটওয়াল্ফ আমি হারিয়ে গিয়েছিলাম এবং এই সমাধানটি পেয়েছি, কেন এটি হয় তা নিশ্চিত নয়। আমার ধারণা হ'ল কন্ট্রোলার স্থিতি দণ্ড (বা অন্যান্য ক্ষেত্রে টুলবার / ট্যাববার) এর কারণে টেবিলভিউটিকে একটি ইনসেটের প্রয়োজন বলে সিদ্ধান্ত নিচ্ছে তাই এটি স্বয়ংক্রিয়ভাবে এটি যুক্ত করে। আমি সত্যিই নতুন কয়েকটি iOS7 "বৈশিষ্ট্যগুলি" নিয়ে লড়াই করছি। হতে পারে যে কেউ এটি বুঝতে পারে, এবং এ সম্পর্কে একটি বাস্তব ব্যাখ্যা আছে?
লুকাশ

আইওএস 7 এ তুলনামূলকভাবে ছোট অ্যাপটি পোর্টিং করতে গত 2 দিন ব্যয় করেছে এবং এখনও ছোটখাটো সমস্যা আছে .. আমি এটি আইওএস 7 এ ঠিক করেছি এটি 6 এ বিপরীত হয় এবং আমার বাদাম চালাচ্ছে!
ম্যাট ওল্ফ

এটি ওপির চেয়ে আলাদা সমস্যা। এমনকি এটির সাথেও, গ্রুপযুক্ত টেবিল দর্শনের জন্য, উপরে একটি অতিরিক্ত স্থান যুক্ত করা হয়।
রাজভি

1
এটি মূল পংক্তির মতো বলে মনে হচ্ছে: স্ব.আটোমেটাম্যাটিক অ্যাডজাস্টসক্রোলভিউআইএনসেটস = না; কেবলমাত্র আমার অতিরিক্ত জায়গা সরিয়ে নিয়ে যাওয়া সেট করা।
মাইক এম

14

আপনার উপাচার্যে কেবলমাত্র আপনার ভিডডিলডে নিম্নলিখিতটি যুক্ত করুন:

self.automaticallyAdjustsScrollViewInsets = NO;

এই ফিক্সটি কাজ করেছে এবং আমি যাদু সংখ্যা ব্যবহার করে ইনসেটগুলি ম্যানুয়ালি সেট করতে পছন্দ করি। ধন্যবাদ!
ইমোবিলাইজার

14

সুতরাং আমি এখানে প্রতিটি পদ্ধতি চেষ্টা করে দেখছিলাম এবং এবার তাদের কেউই সহায়তা করেনি। আমার কেসটি আইওএস-তে একটি শ্রেণিবদ্ধ টেবিল ভিউ ছিল 9. আমি কেন জানি না এবং কীভাবে আমি এটি পেয়েছি তা সত্যিই আমি জানি না তবে আমার জন্য কমপক্ষে উচ্চতার tableViewHeaderসাথে একটি UIViewস্থাপন করা কার্যকর 0.01হয়েছিল। CGRectZeroসাহায্য করেনি, কিছুই সত্যই সহায়তা করেনি:

tableView.tableHeaderView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 0.0, height: 0.01))

10

সুইফট: আইওএসের আমার স্ক্রোল ভিউতে টেবিলভিউ ছিল .. যখন আমি একই স্ক্রিনে "পিছনে" ক্লিক করতাম। স্ক্রোল ভিউ শীর্ষে আরও স্থান নেয় .. এটি সমাধান করতে আমি ব্যবহার করেছি:

 self.automaticallyAdjustsScrollViewInsets = false

একটি বুলিয়ান মান যা ভিউ কন্ট্রোলারকে স্বয়ংক্রিয়ভাবে তার স্ক্রোল ভিউ ইনসেটগুলি সামঞ্জস্য করে কিনা তা নির্দেশ করে। ডিফল্ট মানটি সত্য, যা পরিস্থিতি বার, নেভিগেশন বার, এবং সরঞ্জামদণ্ড বা ট্যাব বার দ্বারা গ্রাহিত স্ক্রিনের প্রতিক্রিয়াতে ভিউ কন্ট্রোলারটিকে তার স্ক্রোল ভিউ ইনসেটগুলি সামঞ্জস্য করতে দেয়। আপনি যদি নিজে স্ক্রোল ভিউ ইনসেট সমন্বয়গুলি পরিচালনা করতে চান তবে মিথ্যাতে সেট করুন যেমন ভিউ হায়ারার্কিতে যখন একাধিক স্ক্রোল ভিউ থাকে তখন।


10

@ অরেলিন পোর্টের উত্তরের জন্য ধন্যবাদ। এখানে আমার সমাধান

এই সমস্যার কারণ: -

  1. একটি ইউআইটিএবলভিউ ০.০ এর উচ্চতা সহ শিরোনাম পছন্দ করতে পছন্দ করে না। আপনি যা করতে চেষ্টা করছেন তা যদি 0 এর উচ্চতা সহ একটি শিরোনাম থাকে তবে আপনি সমাধানটিতে যেতে পারেন।
  2. এমনকি পরে যদি আপনি আপনার শিরোনামকে 0.0 উচ্চর উচ্চতা নির্ধারণ করেন তবে প্রথমে একটি ইউআইটিএবলভিউ 0.0 এর উচ্চতা সহ একটি শিরোনাম নির্ধারণ করতে পছন্দ করে না।

ভিউডিডলডে: -

self.edgesForExtendedLayout = UIRectEdge.None

self.automaticallyAdjustsScrollViewInsets = false

এর মতো কিছু করার দরকার নেই: -

self.myTableview.contentInset = UIEdgeInsetsMake(-56, 0, 0, 0)

ইন heightForHeaderInSectionপ্রতিনিধি: -

if section == 0
    {
        return 1
    }
    else
    {
        return 40; // your other headers height value
    }

ইন viewForHeaderInSectionপ্রতিনিধি: -

if section == 0 
{  
   // Note CGFloat.min for swift
   // For Objective-c CGFLOAT_MIN 
   let headerView = UIView.init(frame: CGRectMake(0.0, 0.0, self.myShaadiTableview.bounds.size.width, CGFloat.min)) 
   return headerView
}
else
{ 
   // Construct your other headers here 
}

10

এটি আইওএস 11 এবং এক্সকোড 9.1 এ সহজেই ঠিক করা যায় স্টোরিবোর্ডের মাধ্যমে :

সারণী দেখুন> আকার পরিদর্শক> সামগ্রী ইনসেটগুলি নির্বাচন করুন: কখনই নয়


1
আমার জন্য কাজ করেছেন :)
ভূপিন্দার

গ্রেট! ধন্যবাদ :)
সা Saeedদ ইর

1
এটি automaticallyAdjustsScrollViewInsetsআইওএস 11 এর পরিবর্তে
নিক কোভ

9

আমি ধরে নিচ্ছি যে এটি কেবল নতুন UITableViewStyleGroupedস্টাইলিংয়েরই একটি অংশ । এটি সমস্ত গোষ্ঠীযুক্ত টেবিল দর্শনে রয়েছে এবং সেই জায়গাটি নিয়ন্ত্রণের কোনও প্রত্যক্ষ উপায় বলে মনে হচ্ছে না।

যে স্থান একটি দ্বারা প্রতিনিধিত্ব করা হচ্ছে UIView, এটা সব মাধ্যমে অনুসন্ধান আনা সম্ভব হবে subviewsএরUITableView নির্দিষ্ট ভিউটি খুঁজে পেতে এবং সরাসরি সম্পাদনা করার জন্য সমস্তটির হবে। তবে, এমন সম্ভাবনাও রয়েছে যে শিরোনাম এবং ঘরগুলি শুরুর আগে স্পেসটি কেবল একটি হার্ডকোডড অফসেট এবং এটিকে সম্পাদনার কোনও উপায় থাকবে না।

সমস্ত সাবভিউ দিয়ে অনুসন্ধান করার জন্য (টেবিলটির কোনও কোষ নেই তখন আমি এই কোডটি চালাতাম, আউটপুটটি পড়া আরও সহজ করার জন্য):

- (void)listSubviewsOfView:(UIView *)view {

    // Get the subviews of the view
    NSArray *subviews = [view subviews];

    // Return if there are no subviews
    if ([subviews count] == 0) return;

    for (UIView *subview in subviews) {

        NSLog(@"%@", subview);

        // List the subviews of subview
        [self listSubviewsOfView:subview];
    }
}

3
আইওএস 7-তে যদি ইউআইটিএবলভিউস (আরও নির্দিষ্ট করে বলার জন্য UITableViewCellScrollView) আমাদের একটি জিনিস শিখিয়েছে, তবে কেবল শ্রেণিতেই নির্মিত দর্শন শ্রেণিবদ্ধতা ছেড়ে দেওয়া উচিত।
ম্যাথিয়াস বাউচ

ভাল যুক্তি. অন্য বিকল্পটি হ'ল ... প্রতিটি আইওএসের জন্য হ্যাকিং চালিয়ে যাওয়া;)
ড্যান রোজনস্টার্ক

ওফফ, হ্যাঁ। সেই সতর্কতাটি লেখার অর্থ কিন্তু ভুলে গিয়েছিলেন।
কেভিন

কেভিন - আমি মনে করি আপনি ঠিক বলেছেন, এটি নকশা দ্বারা। দেখা যাচ্ছে যে উচ্চতার জন্য 0 ফিরতি হিডারআইনসেকশন এই প্যাডিংটি সরিয়ে ফেলার সহজতম উপায়। নির্দিষ্ট কারণে কোনও কারণে এটি আমার পক্ষে কাজ করে না, তবে এটি অন্যান্য ইউআইটিএলভিউতে কাজ করে।
এসিলিভার

1
এটি অবশ্যই "ডিজাইন দ্বারা"। যদি আপনি মৃত্যুদন্ড থামিয়ে দিয়ে দৌড়েছিলেন: po [((UIApplication *)UIApplication.sharedApplication).keyWindow recursiveDescription]আপনি দেখতে পাবেন যে সারণী শিরোনাম, বা প্রথম বিভাগের শিরোনাম, বা প্রথম ঘর (আপনি কী ব্যবহার করেন তার উপর নির্ভর করে) প্রাকৃতিকভাবে একটি 35px সীমানা ছাড়বে .... বু।
মিঃ টি

9

আমার উত্তরটি আরও সাধারণ উত্তর হতে চলেছে, তবে এটির উপরও এটি প্রয়োগ করা যেতে পারে।

যদি রুট দৃশ্য (এর ViewController বা) প্রথম সন্তান (subview) রুট দেখুন UIScrollView (অথবা UIScrollView নিজেই), এবং যদি এর উপশ্রেণী হয়

self.navigationController.navigationBar.translucent = YES;

ফ্রেমওয়ার্ক স্বয়ংক্রিয়ভাবে সেট হবে প্রাক নির্ণিত contentInset


এটি এড়াতে আপনি করতে পারেন

self.automaticallyAdjustsScrollViewInsets = NO;

তবে আমার ক্ষেত্রে আমি এটি করতে পারিনি, কারণ আমি এসডিকে বাস্তবায়ন করছিলাম যার মধ্যে ইউআইভিউ উপাদান রয়েছে যা অন্যান্য বিকাশকারীরা ব্যবহার করতে পারেন। সেই ইউআইভিউ উপাদানটিতে ইউআইউইউবভিউ রয়েছে (এটিতে প্রথম সাবভিউ হিসাবে ইউআইএসক্রোলভিউ রয়েছে)। যদি সেই উপাদানটি ইউআইভিউকন্ট্রোলারের দর্শন শ্রেণীর প্রথম শিশু হিসাবে যুক্ত করা হয় তবে সিস্টেম দ্বারা স্বয়ংক্রিয় পোকামাকড় প্রয়োগ করা হবে।

আমি ইউআইউইউভিউ ভিউ যুক্ত করার আগে ফ্রেম (0,0,0,0) এর সাথে ডামি ভিউ যুক্ত করে এটি ঠিক করেছি ।

এই ক্ষেত্রে সিস্টেমটি প্রথম সাবউভিউ হিসাবে ইউআইএসক্রোলভিউয়ের সাবক্লাসটি খুঁজে পায় নি এবং কীটপতঙ্গ প্রয়োগ করে নি


livesaver! আপনাকে ধন্যবাদself.automaticallyAdjustsScrollViewInsets = false
ইথানফ

8

এই কোডটি আমার পক্ষে কাজ করেছিল, আমার পক্ষে সর্বোত্তম উত্তর যা objective-Cআপ-সাইডে লেখা ছিল তাই আমি এটিকে সুইফটে রূপান্তর করলাম।

সুইফট 4.0+ এর জন্য

self.tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.bounds.size.width, height: 0.01))

কেবল viewDidLoad()এটিতে লিখুন এবং এটি কবজির মতো কাজ করবে।


1
আপনাকে অনেক ধন্যবাদ, আমার জন্য ভাল কাজ।
অ্যাঞ্জেলো পোলোতো

1
আপনার স্বাগত শুভ কোডিং
বিপুল কুমার

7

আমারও অরিলিজের মতো একই ফিক্স ছিল। আমি একবার ইউআইটিএবলভিউকে পিতামাতার দৃশ্যের প্রথম সাবউভিউ না হিসাবে স্থানান্তরিত করেছি, এটি চলে গেছে। আমার স্পেস ছিল 35 পিক্সেল, 35 নয়।

আমি এটি কেবল একটি ল্যান্ডস্কেপ xib, একটি প্রতিকৃতি xib এ পুনরায় তৈরি করতে সক্ষম ছিলাম না। আমি যদি একটি সাধারণ ডেমো অ্যাপ্লিকেশনটিতে এটি পুনরুত্পাদন করতে পারি তবে আমি পরে রাডার বাগটি ফাইল করব।


একই ইস্যুতে ছড়িয়ে পড়ে, বিষয়বস্তু পরিবর্তন করে এটি সমাধান করতে সক্ষম হয় নি তবে এই পদ্ধতিটি কার্যকর হলেও এটি কার্যকর hack ভিজ্যুয়াল ডিবাগিং সরঞ্জামটি ব্যবহার করার জন্য এটি মূল্যবান, আমি দেখতে সক্ষম হয়েছি যে ইউআইটিবেবলের সঠিক উচ্চতা থাকা সত্ত্বেও এর ভিতরে থাকা ইউআইটিবেবলউউভারিপটি এটি করেনি।
মাইক ফোক

পারফেক্ট। এটি এক্সকোড .1.১-এ আমার জন্য বাগটি ঠিক করেছে। এই স্ট্যাক ওভারফ্লো পৃষ্ঠার অন্যান্য পরামর্শগুলির মধ্যে কোনওরই কোনও পার্থক্য নেই। আমার একটি ইউআইভিউয়ের মধ্যে একটি ইউআইটিএবলভিউ ছিল এবং এটি প্রথম মতামত ছিল। এটি ২ য় সংক্ষিপ্ত বিবরণে টেনে আনুন এটি পুরোপুরি ঠিক করেছে। (যদি কারও আমার প্রয়োজন হয় তবে আমি পাব থাকব))
মাইক গ্লেডহিল

ধন্যবাদ! আপনার যদি কোনও ধারকের মধ্যে টেবিল ভিউ কন্ট্রোলার থাকে তবে এটিও কাজ করে। পাত্রে সরিয়ে নেওয়া যাতে পিতামাতার দৃষ্টিতে এটি প্রথম নয় তবে সারণী দর্শনটির শীর্ষের ফাঁকটি সরিয়ে দেয়।
21:44

7

আমি মনে করি UIEgegensets -35 0 0 0 তৈরি করা ক্লান্তিকর। আমার ক্ষেত্রে, আমি টেবিল ভিউ: উচ্চতাফোড় হাইডারইনসেকশন: পদ্ধতিটি প্রয়োগ করেছি এবং এটি 0-এ ফিরে আসার সম্ভাবনা রয়েছে।

আমি 0 থেকে 0.1f এ পরিবর্তন করলে সমস্যাটি কেবল সরে গেল।


1
যদি আমি পারতাম তবে আমি একাধিকবার এটি উপস্থাপন করব। একটি অদ্ভুত অটোলেআউট গ্লিট বা কিছু হতে হবে ... যাইহোক> 0 কাজ করে, আমি 0.1 ব্যবহারের পরিবর্তে FLT_EPSILON বা DBL_EPSILON ব্যবহার করার পরামর্শ দিই, উভয়ই ক্ষুদ্রতম ধনাত্মক মানের যেমন 1.0 + অ্যাপসিলনকে প্রতিনিধিত্ব করে! = 1.0
হেনরি নর্মাক

7

আমার পক্ষে একমাত্র কাজটি ছিল:

দ্রুত :

tableView.sectionHeaderHeight = 0
tableView.sectionFooterHeight = 0

উদ্দেশ্য-সি :

self.tableView.sectionHeaderHeight = 0;
self.tableView.sectionFooterHeight = 0;

এছাড়াও, আমার এখনও প্রথম বিভাগের জন্য অতিরিক্ত জায়গা ছিল। কারণ আমি tableHeaderViewসম্পত্তিটি ভুলভাবে ব্যবহার করছিলাম । এটি যোগ করে পাশাপাশি স্থির করে:

self.tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 0.01))

সুইফট ৪.২ এর জন্য আমার পক্ষে কাজ করে। ধন্যবাদ
সিলার

আইওএস 13 এর জন্য শিরোনাম দর্শন সহ গ্রুপবদ্ধ টেবিলভিউয়ের জন্য এই পৃষ্ঠার সমস্ত কিছু চেষ্টা করে। self.tableView.tableHeaderView = ইউআইভিউ (ফ্রেম: সিজিআরেক্ট (x: 0, y: 0, প্রস্থ: টেবিল ভিউ.ফ্রেম.সাইজ.উইথ, উচ্চতা: 0.01%))। সমস্যাটি স্থির করল।
নিং

7

সুইফট 4 কোড: কোনও বিভাগের শিরোনাম ছাড়াই টেবিলভিউয়ের জন্য আপনি এই কোডটি যুক্ত করতে পারেন:

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return CGFloat.leastNormalMagnitude
}

এবং আপনি শিরোনাম শূন্যস্থান 0 এ পাবেন।

আপনি যদি নির্দিষ্ট নির্দিষ্ট উচ্চতার শিরোনাম চান তবে সেই মানটি পাস করুন:

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return header_height
}

এবং ভিউএফইডারিনসেকশন প্রতিনিধি থেকে দর্শন।


এটি প্রশ্নের উত্তর দেয় না। অতিরিক্ত ব্যবধানটি কোথা থেকে আসছে তা কীভাবে এ থেকে মুক্তি দেওয়া যায় তা নিয়ে প্রশ্ন ছিল।
স্টিফেন নেওয়েল

অদ্ভুত বিষয় হ'ল আপনি যদি উচ্চতায় 0 হেডফায়ার ইন্ডিজেশন ফিরে পান তবে আপনি এই অতিরিক্ত স্থানটি পান। এটি সিজিফ্লোয়াট.লিয়াসট নরমাল ম্যাগনিটিউড (কমপক্ষে ধনাত্মক সংখ্যা)
শেডটিড

7

নির্দিষ্ট হতে, টেবিলভিউ হিডারের স্থানটি শীর্ষ থেকে সরিয়ে নিতে আমি এই পরিবর্তনগুলি করেছি:

YouStoryboard.storyboard> YouViewController> নির্বাচন করুন টেবিলভিউ> আকার পরিদর্শক> সামগ্রী কীটপতঙ্গ - এটি কখনই সেট করুন না।

এখানে চিত্র বর্ণনা লিখুন


এই উত্তরের তুলনায় স্ক্রিনশট ছাড়া অতিরিক্ত অতিরিক্ত তথ্য কী ?
আর্টজম বি

আমার ধারণাটি একই, আমি যখন সলিউশন খুঁজছিলাম তখন আমি সেই উত্তরটি পাইনি। আমার উত্তরটি কি তখন মুছে ফেলা উচিত ..?
ব্যবহারকারী 832

আপনি কেন সামগ্রীতে ইনসেট = কখনই আসলে এই সমস্যাটি সমাধান করেন না (এই বিকল্পটি কীভাবে কাজ করে?) বর্ণনা করে আপনার উত্তরে কিছুটা প্রসারিত করতে পারলে নয়।
আর্টজম বি

যখন সামগ্রী ইনসেটগুলি কখনই সেট করা থাকে, টেবিলভিউ পাঠ্য ফিল্ড সম্পাদনায় স্ক্রোল করবে না।
মোজতাবা আল মুসাসি

6

আমি এই সাহায্য মনে করি এটি ব্যবহার করুন ...

 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
 {
    return 0.005f;// set this according to that you want...
 }

1
উজ্জ্বল! আইওএস 9.2 এ একটি কবজির মতো কাজ করে। এই উত্তরটি নিখুঁত কারণ কিছু ক্ষেত্রে আমাকে প্রথম শিরোনামটি দমন করতে হবে অন্যদিকে এটি প্রদর্শিত হচ্ছে। আমি সিজিফ্লোয়াট.মিন ব্যবহার করে অন্য একটি উত্তর দেখেছি, এটিও কার্যকর। সুতরাং আমার ভিউকন্ট্রোলার এখন 44.0 বা মূলত 0 এর মতো একটি আসল সংখ্যা সরবরাহ করতে পারে
ডেভিড এইচ

6
override func viewWillAppear(animated: Bool) {
        self.edgesForExtendedLayout = UIRectEdge.None

 //  OR

self.sampleTableView.contentInset = UIEdgeInsetsMake(-64, 0, 0, 0);

   //OR

 self.automaticallyAdjustsScrollViewInsets = false
        }

স্বয়ংক্রিয়ভাবে অ্যাডজাস্টসক্রোলভিউআইএনসেটস = আমার কাছ থেকে মিথ্যা কাজ! ধন্যবাদ!
ড্যানিয়েল কুটা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.