ওহ মানুষ, এটি কয়েক দিনের জন্য আমাকে মাথা ব্যাথার কারণ করেছিল এবং কীভাবে এটি করা যায় তা বুঝতে পারি নি। সবচেয়ে খারাপ দিকটি হ'ল মাস্টার-ডিটেইল টেম্পলেট সহ একটি নতুন এক্সকোড আইওএস প্রকল্প তৈরি করা ঠিক কাজ করেছিল। ভাগ্যক্রমে, শেষ পর্যন্ত, সেই সামান্য সত্যটিই ছিল আমি কীভাবে সমাধানটি পেয়েছি।
কিছু পোস্ট আমি দেখেছি যে, যে সুপারিশ সমাধান নতুন বাস্তবায়ন হয় আছে primaryViewControllerForCollapsingSplitViewController:
উপর পদ্ধতি UISplitViewControllerDelegate
। আমি চেষ্টা করেছিলাম কোন লাভ হয়নি। অ্যাপল যে মাস্টার-ডিটেইল টেম্পলেটটিতে কাজ করে বলে মনে হচ্ছে সেগুলি নতুন প্রয়োগ করে (এই splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
সমস্তটি বলতে গভীর নিঃশ্বাস নিন) ডেলিগেট পদ্ধতি (আবার চালু UISplitViewControllerDelegate
)। ডক্স অনুসারে , এই পদ্ধতি:
ডেলিগেটকে প্রাথমিক ভিউ কন্ট্রোলারকে সামঞ্জস্য করতে এবং ধসে পড়া ইন্টারফেসে গৌণ ভিউ কন্ট্রোলারকে অন্তর্ভুক্ত করতে বলে।
আরও সুনির্দিষ্ট বিশদের জন্য সেই পদ্ধতির আলোচনার অংশটি পড়তে ভুলবেন না।
অ্যাপল যেভাবে এটি পরিচালনা করে তা হ'ল:
- (BOOL)splitViewController:(UISplitViewController *)splitViewController
collapseSecondaryViewController:(UIViewController *)secondaryViewController
ontoPrimaryViewController:(UIViewController *)primaryViewController {
if ([secondaryViewController isKindOfClass:[UINavigationController class]]
&& [[(UINavigationController *)secondaryViewController topViewController] isKindOfClass:[DetailViewController class]]
&& ([(DetailViewController *)[(UINavigationController *)secondaryViewController topViewController] detailItem] == nil)) {
// Return YES to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded.
return YES;
} else {
return NO;
}
}
এই প্রয়োগটি মূলত নিম্নলিখিতগুলি করে:
secondaryViewController
আমরা যদি (ক UINavigationController
) যা প্রত্যাশা করি তা যদি হয় এবং এটি আমরা কী প্রত্যাশা করে তা দেখায় (এ DetailViewController
- আপনার দৃশ্য নিয়ামক), তবে কোনও মডেল ( detailItem
) নেই, তবে " Return YES to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded.
"
- অন্যথায়, "
NO
স্প্লিট ভিউ কন্ট্রোলারকে ভেঙে যাওয়া ইন্টারফেসে সেকেন্ডারি ভিউ কন্ট্রোলারের সামগ্রীটি চেষ্টা করতে এবং সংযুক্ত করতে " ফিরে যান "
প্রতিকৃতিতে আইফোনের জন্য ফলাফলগুলি নিম্নলিখিত (প্রতিকৃতিতে শুরু করা বা প্রতিকৃতিতে ঘোরানো - অথবা আরও নির্ভুলভাবে কমপ্যাক্ট আকারের শ্রেণীর):
- আপনার মতামত যদি সঠিক হয়
- এবং একটি মডেল আছে, বিস্তারিত দেখুন নিয়ামক প্রদর্শন করুন
- তবে কোনও মডেল নেই, মাস্টার ভিউ কন্ট্রোলার দেখান
- আপনার মতামত যদি সঠিক না হয়
- মাস্টার ভিউ কন্ট্রোলার দেখান
কাদা হিসাবে পরিষ্কার।
UISplitViewController
এবং সর্বদাYES
সেই পদ্ধতি থেকে ফিরে আসি , তারপরে কেবল স্টোরিবোর্ডে স্প্লিট ভিউ ক্লাসটি পরিবর্তন করেছি, যেমন আমি সর্বদা পোর্ট্রেটে আইফোনে মাস্টারটি দেখাতে চাই। :)