যেমন (অনেক) নির্দেশ করেছেন, আপনি সমস্ত ইউআইটিএবলভিউসেল বিভাজককে কেবল পুরো ইউআইটিএবলভিউয়ের জন্য কেবল তাদের বন্ধ করে সহজেই লুকিয়ে রাখতে পারেন ; যেমন আপনার ইউআইটিএবলভিউ নিয়ন্ত্রণকারী ont
- (void)viewDidLoad {
...
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
...
}
দুর্ভাগ্যক্রমে, প্রতি ঘরে ঘরে এটি করা একটি আসল পিআইটিএ ভিত্তিতে , যা আপনি সত্যিই জিজ্ঞাসা করছেন।
ব্যক্তিগতভাবে, আমি পরিবর্তন করার অসংখ্য অনুমতি চেষ্টা করেছি cell.separatorInset.left আবারও অনেকগুলি , যেমনটি (অনেকে) পরামর্শ দিয়েছেন, তবে সমস্যাটি হ'ল অ্যাপলকে উদ্ধৃত করা (জোর দেওয়া):
" ... আপনি বর্তমান কোষের মধ্যে স্থান যোগ করার জন্য এই সম্পত্তি ব্যবহার করতে পারেন বিষয়বস্তু এবং সারণির বাম এবং ডান প্রান্ত। ইতিবাচক আঁটা মান সরাতে সেল বিষয়বস্তু টেবিল প্রান্ত থেকে অভ্যন্তরস্থ এবং দূরে এবং সেল বিভাজক ... "
সুতরাং আপনি যদি বিভাজকটিকে ডানদিকে স্ক্রিনটি চেঁচিয়ে 'আড়াল করতে' চেষ্টা করেন তবে আপনি নিজের ঘরের কনটেন্ট ভিউতেও ইনডেন্টিং শেষ করতে পারেন। ক্রিফানের পরামর্শ অনুসারে, আপনি সেট করে cell.indentationWidthএবং এর মাধ্যমে এই বাজে পার্শ্ব-প্রতিক্রিয়ার জন্য ক্ষতিপূরণ দেওয়ার চেষ্টা করতে পারেনcell.indentationLevel সবকিছু ফিরিয়ে আনতে যথাযথভাবে , তবে এটি আমি অবিশ্বাস্যও পেয়েছি (সামগ্রীগুলি এখনও ইন্টেন্টেড হচ্ছে ...)।
আমি খুঁজে পেয়েছি সবচেয়ে নির্ভরযোগ্য উপায় হ'ল layoutSubviewsএকটি সাধারণ ইউআইটিএবলভিউসেল সাবক্লাসে ওভার রাইড করা এবং ডান ইনসেটটি সেট করা যাতে এটি বাম দিকের ইনসেটটি আঘাত করে, বিভাজকের 0 প্রস্থ এবং এত অদৃশ্য হয়ে যায় [এটি স্বয়ংক্রিয়ভাবে লেআউটে পর্যালোচনাগুলি করা দরকার হ্যান্ডেল রোটেশন]। এটি চালু করার জন্য আমি আমার সাবক্লাসে একটি সুবিধা পদ্ধতিও যুক্ত করি।
@interface MyTableViewCellSubclass()
@property BOOL separatorIsHidden;
@end
@implementation MyTableViewCellSubclass
- (void)hideSeparator
{
_separatorIsHidden = YES;
}
- (void)layoutSubviews
{
[super layoutSubviews];
if (_separatorIsHidden) {
UIEdgeInsets inset = self.separatorInset;
inset.right = self.bounds.size.width - inset.left;
self.separatorInset = inset;
}
}
@end
ক্যাভ্যাট: আসল ডান ইনসেটটি পুনরুদ্ধার করার জন্য একটি নির্ভরযোগ্য উপায় নেই, সুতরাং আপনি বিভাজকটিকে 'আন-হাইড' করতে পারবেন না, তাই কেন আমি একটি অপরিবর্তনীয় hideSeparatorপদ্ধতি ব্যবহার করছি (বনাম এক্সপোজারিং বিভাজক ISHid)। দয়া করে নোট করুন যে বিভাজনকারী ইনসেটটি পুনরায় ব্যবহৃত হওয়া ঘরগুলিতে অবিচ্ছিন্ন থাকে, কারণ আপনি 'আন-আড়াল' করতে পারবেন না, আপনার এই লুকানো-বিভাজক কক্ষগুলিকে তাদের নিজস্ব পুনরায় ব্যবহারকারীর আইডেন্টিফায়ারে আলাদা রাখতে হবে।