আইওএস 6-এ কোনও ইউআইভিউকন্ট্রোলারকে পোর্ট্রেট ওরিয়েন্টেশনে বাধ্য করা যায়


85

যেহেতু ShouldAutorotateToInterfaceOrientationআইওএস in এ অবমূল্যায়ন করা হয়েছে এবং আমি এটি ব্যবহার করেছি যে কোনও নির্দিষ্ট দৃষ্টিভঙ্গিকে কেবল প্রতিকৃতিতে বাধ্য করা হয়েছিল, আইওএস in-এ এটি করার সঠিক উপায় কী? এটি কেবলমাত্র আমার অ্যাপ্লিকেশনের একটি অঞ্চলের জন্য, অন্যান্য সমস্ত দর্শন ঘোরানো যেতে পারে।

উত্তর:


117

আপনি যদি চান আমাদের সমস্ত নেভিগেশন কন্ট্রোলাররা শীর্ষ দর্শনীয় নিয়ামককে শ্রদ্ধা জানাতে আপনি একটি বিভাগ ব্যবহার করতে পারেন যাতে আপনাকে ক্লাসের নামগুলির একগুচ্ছ পরিবর্তন করতে হবে না।

@implementation UINavigationController (Rotation_IOS6)

-(BOOL)shouldAutorotate
{
    return [[self.viewControllers lastObject] shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}

@end

কয়েকটি মন্তব্য যেমন ইঙ্গিত করে, এটি সমস্যার দ্রুত সমাধান। আরও ভাল সমাধান হ'ল সাবক্লাস ইউআইএনএভিগেশন কন্ট্রোলার এবং এই পদ্ধতিগুলি সেখানে রাখুন। একটি সাবক্লাস 6 এবং 7 সমর্থন করার জন্যও সহায়তা করে।


4
আমি এই কাজগুলি নিশ্চিত করতে পারি। আপনি যদি পছন্দ করেন তবে "[self.viewControllers lastObject]" কে "self.topViewController" এর সাথে প্রতিস্থাপন করতে পারেন।
ওয়েইন লিউ

4
আপনি যদি এই ইউআইএনএভিগেশন কন্ট্রোলার বিভাগের তুলনায় ইউআইটিববারকন্ট্রোলার ব্যবহার করছেন তবে কোনও সাহায্য নেই। পরিবর্তে আপনার ইউআইটিববারকন্ট্রোলারে বিভাগ করা উচিত ...
বোরুত তোমাজিন

46
এই সমাধানটিতে সমস্যাটি হ'ল আপনি যখন ল্যান্ডস্কেপটিতে ছিলেন এমন পপ কন্ট্রোলারটি কাজ করে না এবং আপনার নতুন শীর্ষ কন্ট্রোলার কেবল প্রতিকৃতি সমর্থন করে (বা বিপরীতে), সেই ক্ষেত্রে এই কলব্যাকগুলি কল করা হয়নি এবং কীভাবে উপায় করব তা এখনও খুঁজে পাইনি সঠিক ওরিয়েন্টেশনে নতুন শীর্ষ নিয়ামককে বাধ্য করুন। কোন ধারনা?
লোপ

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

4
যদি আমি ল্যান্ডস্কেপ ভিউ কন্ট্রোলার থেকে পুশ বা পপ করছি তবে এই বাহিনীটি ইউআইভিউকন্ট্রোলারকে ল্যান্ডস্কেপে পরিবর্তন করে। তবে আমি যদি প্রতিকৃতিতে ঘোরান তবে এটি ঠিক কাজ করে এবং এটি কখনও প্রাকৃতিক দৃশ্যে রূপান্তরিত হবে না। ল্যান্ডস্কেপ থেকে ধাক্কা বা পপ করার সময় একমাত্র সমস্যা। দয়া করে সহায়তা করুন
তারিক

63

আইওএস 6 এর জন্য সর্বোত্তম উপায়টি বিশেষ করে রে ওেন্ডারলিচ দল "আইওএস 6 বাই টিউটোরিয়ালস" -তে উল্লেখ করেছে - http://www.raywenderlich.com/ এবং UINavigationControllerবেশিরভাগ ক্ষেত্রে সাবক্লাসিংয়ের চেয়ে ভাল ।

আমি স্টোরিবোর্ডের সাথে আইওএস 6 ব্যবহার করছি UINavigationControllerযা প্রাথমিক ভিউ নিয়ামক হিসাবে একটি সেট অন্তর্ভুক্ত করে ।

// AppDelegate.m - দুর্ভাগ্যক্রমে এই পদ্ধতিটি প্রাক-iOS6 উপলভ্য নয়

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
NSUInteger orientations = UIInterfaceOrientationMaskAllButUpsideDown;

if(self.window.rootViewController){
    UIViewController *presentedViewController = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
    orientations = [presentedViewController supportedInterfaceOrientations];
}

return orientations;
}

// মাইভিউকন্ট্রোলআরএম - আপনি যার জন্য প্রতিটি সমর্থন করতে চান সেগুলি ফিরিয়ে দিন UIViewController

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskPortrait;
}

4
এটি আইওএস 6 এর পক্ষে সেরা সমাধান
হোমমে

4
@ ফিল, এটি আইওএস for এর জন্য দুর্দান্ত কাজ করে But তবে কিছু ক্ষেত্রে যেমন আপনি যদি ল্যান্ডস্কেপ থেকে প্রতিকৃতিতে যান তবে এটি কার্যকর হয় না। কোন ধারণা কেন এমন হয়?
কীর্তী নিকম

4
খুব দরকারী সমাধান। আমার জন্য, সেরা।
অস্কার ক্যাটাটলন

4
আইওএস 7 বিটাতে কাজ করা 6. আমার ক্ষেত্রে ল্যান্ডস্কেপ থেকে প্রতিকৃতিতে যাওয়ার সময় কাজ করে।
মার্টিন বার্গার

আমি আইওএস 6 এ আছি তবে এটি কার্যকর হয় না। এটি "ইউআইভিউউকন্ট্রোলার * উপস্থাপিত ভিউকন্ট্রোলার" লাইনে ব্রেক হয়।
মার্সেল মেরিনো

39

এই উত্তরটি ওপির পোস্টের মন্তব্যে জিজ্ঞাসিত প্রশ্নগুলির সাথে সম্পর্কিত:

প্রদত্ত ওরিয়েন্টেশনটিতে দৃশ্যের উপস্থিতি দেখানোর জন্য বাধ্যতামূলকভাবে নিম্নলিখিতটি ভিউউইল অ্যাপয়ারে রাখুন:

UIApplication* application = [UIApplication sharedApplication];
if (application.statusBarOrientation != UIInterfaceOrientationPortrait)
{
    UIViewController *c = [[UIViewController alloc]init];
    [self presentModalViewController:c animated:NO];
    [self dismissModalViewControllerAnimated:NO];
}

এটি কিছুটা হ্যাক, তবে UIViewControllerপূর্ববর্তী কন্ট্রোলার ল্যান্ডস্কেপ থাকলেও এটি প্রতিকৃতিতে উপস্থিত হতে বাধ্য করে

IOS7 এর জন্য আপডেট

উপরের পদ্ধতিগুলি এখন অবহিত করা হয়েছে, সুতরাং আইওএস 7 এর জন্য নিম্নলিখিতটি ব্যবহার করুন:

UIApplication* application = [UIApplication sharedApplication];
if (application.statusBarOrientation != UIInterfaceOrientationPortrait)
{
     UIViewController *c = [[UIViewController alloc]init];
     [c.view setBackgroundColor:[UIColor redColor]];
     [self.navigationController presentViewController:c animated:NO completion:^{
            [self.navigationController dismissViewControllerAnimated:YES completion:^{
            }];
     }];
}

মজার ব্যাপার হচ্ছে, লেখা, সময় হয় বর্তমান বা খারিজ অ্যানিমেটেড ইন করতে হবে। যদি না হয় তবে আপনি একটি সাদা পর্দা পাবেন। কেন এটি এটিকে কাজ করে তা জানিনা, তবে তা ঘটে! অ্যানিমেটেড উপর নির্ভর করে ভিজ্যুয়াল এফেক্টটি আলাদা।


ধন্যবাদ, যখন আমি কয়েক মিনিটের ফ্রি সময় পাই
লপ

@ রোহন আগরওয়াল বিজ্ঞাপন হিসাবে কাজ করে, আমি এটি এখানে ব্যবহার করছি। তবে আপনার স্বীকৃত উত্তরের কোডও কার্যকরভাবে প্রয়োগ করা দরকার, অথবা এটি কার্যকর হবে না।
ডেনিস মুন্সি

4
একই সময়ে সঠিক রোটেশন অ্যানিমেশন দিয়ে কীভাবে এই কাজটি করা যায় তা কি কেউ আবিষ্কার করেছেন? এটি অ্যানিমেশন ছাড়াই পোর্ট্রেট থেকে ল্যান্ডস্কেপে স্যুইচ করা দেখতে একটু ঝাঁকুনির মতো। এটি কাজ করে, কেবল এটি আরও ভালভাবে কাজ করার আশা করে।
ডেনিস মুন্সি

@ ক্রেইগ ওয়াটকিনসন এটি স্টোরিবোর্ডে কাজ করছে না। এবং বর্তমানমডালভিউ কনট্রোলার এবং বরখাস্ত করা মডেলভিউ কনট্রোলার অ্যানিম্যাট করা অবহিত করা হয় যদি iam উপস্থিত ভাইরাকন্ট্রোলার ব্যবহার করে তবে এটি কাজ করবে না
lease অনুগ্রহ করে

4
আইওএস 8 বরখাস্তের জন্য ভিউকন্ট্রোলারএনিমেটেড কেবল ক্র্যাশ হয়েছে। আমি দেখতে পেয়েছি যে [NWSAppDelegate sharedInstance] কল করা হয়েছে। .Window.rootViewController = nil; [এনডাব্লুএসএপিডেলিগেট শেয়ারডআইন্সট্যান্স] .window.rootViewController = পূর্ববর্তী রুটকন্ট্রোলার দুর্দান্ত কাজ করে।
অ্যালেক্সি

36

সুতরাং প্রতিকৃতি কেবলমাত্র মডেল ভিউগুলি প্রদর্শন করার সময় আমি একই সমস্যায় পড়েছিলাম। এমনিতে আমি তৈরি চাই UINavigationController, সেট viewControllerহিসাবে rootViewController, তারপর প্রদর্শন UINavigationControllerএকটি মোডাল দর্শন হিসাবে। তবে আইওএস with এর সাহায্যে, viewControllerএখন নেভিগেশনকন্ট্রোলারকে তার সমর্থিত ইন্টারফেস ওরিয়েন্টেশনগুলির জন্য জিজ্ঞাসা করবে (যা ডিফল্টরূপে, এখন সব কিছু আইপ্যাডের জন্য এবং আইফোনের জন্য উল্টো দিকে)।

সমাধান : আমাকে UINavigationControllerস্বয়ংচালিতকরণ পদ্ধতিগুলিকে সাবক্লাস ও ওভাররাইড করতে হয়েছিল। পঙ্গু ধরনের।

- (BOOL)shouldAutorotate {
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}
// pre-iOS 6 support 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}

4
আমার উপর কাজ করে না। আমার কাছে সমস্ত
কোডকে

4
সমর্থিত ইন্টারফেস ওরিয়েন্টেশনগুলিকে একটি এনএসইউইন্টেজার ফিরিয়ে দেওয়া উচিত, বুল নয়। বিকাশকারী.অ্যাপল.
com library ios #featuredarticles/…

এটি কাজ করেছে, আমার জন্য এটির ট্যাব-নিয়ন্ত্রণকারী, উত্তরের জন্য আবার ধন্যবাদ
otakuPogrammer

এফডাব্লুআইডাব্লু, আমাকেও এই রুটে যেতে হয়েছিল ... অন্য কিছুই কিছুই কাজ করেনি। ধন্যবাদ
স্টিভ এন

15

আইওএস 5

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{

    return (interfaceOrientation == UIInterfaceOrientationPortrait);

}

আইওএস 6

-(BOOL)shouldAutorotate{
    return YES;
}

-(NSInteger)supportedInterfaceOrientations{

    //    UIInterfaceOrientationMaskLandscape;
    //    24
    //
    //    UIInterfaceOrientationMaskLandscapeLeft;
    //    16
    //
    //    UIInterfaceOrientationMaskLandscapeRight;
    //    8
    //
    //    UIInterfaceOrientationMaskPortrait;
    //    2

    //    return UIInterfaceOrientationMaskPortrait; 
    //    or
          return 2;
}

দুর্দান্ত! এই থ্রেডের শীর্ষে সর্বাধিক হওয়া দরকার। কারণ এটি সমস্যা সমাধানের সবচেয়ে সহজ উপায়
অ্যালেক্স

@ রওশন জলগাঁওকার আইওএস In এ আমার পক্ষে কাজ হয় না আমার কেবল নীচে হোম বোতামের প্রতিকৃতি দরকার আমি কীভাবে এই ইউআই ওরিয়েন্টেশনটি সেট করতে পারি ....
কার্তিক

@ কার্ত্তিককে এটি কাজ করার জন্য আপনার অ্যাপের টার্গেটে সমর্থিত ঘূর্ণন সক্ষম করতে হবে।
আলেজান্দ্রো ইভান

10

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

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

আইওএস <= 4 এবং আইওএস> = 6 এ:

UIViewController *vc = [[UIViewController alloc]init];
[self presentModalViewController:vc animated:NO];
[self dismissModalViewControllerAnimated:NO];
[vc release];

আইওএস 5 এ:

UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *view = [window.subviews objectAtIndex:0];
[view removeFromSuperview];
[window addSubview:view];

এগুলি সত্যই ইউআইকিটকে আপনার সমস্ত কাঁধের পরিচালক, সমর্থিত ইন্টারফেস ওরিয়েন্টেশন ইত্যাদি পুনরায় মূল্যায়ন করতে বাধ্য করবে etc.


4
আইওএস সংস্করণ নির্বিশেষে আমার জন্য এই ক্রাশগুলির মধ্যে প্রথমটি। বলছেন বর্তমানের কাজ শেষ হওয়ার আগে বরখাস্ত কল করা উচিত নয়।
আর্সেনিয়াস

@ বার্সিয়াস আপনি কীভাবে এটি ব্যবহার করছেন তার একটি স্নিপেট পোস্ট করতে পারেন? যতক্ষণ এটি অ্যানিমেটেড না হয় আপনার উল্লেখ করা সমস্যাটি হওয়া উচিত নয়
রাফায়েল নোব্রে

আমিও viewDidAppear মধ্যে দ্বিতীয় স্নিপেট করা এবং এটি সাহায্যের কিছুই না আইওএস 6. প্রশ্নটি সম্পর্কে আমার অবস্থা এখানে: stackoverflow.com/questions/15654339/...
arsenius

দুঃখিত, এখানে একটি শেষ মন্তব্য। আইওএস 5 কোডটি ভিডিডে এড়াতে এই আউটপুটটি দিয়ে এক ধরণের অসীম লুপ তৈরি করা হয়: - [ইউআইএএপ্লিকেশন শুরুকরণত্যাগপ্রযুক্তি সংক্ষেপণ] ওভারফ্লো। উপেক্ষা করা হচ্ছে।
আর্সেনিয়াস

3

আমার https://stackoverflow.com/a/13982508/2516436 এবং https://stackoverflow.com/a/17578272/2516436 মিশ্রিত করার খুব ভাল পদ্ধতির রয়েছে

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    NSUInteger orientations = UIInterfaceOrientationMaskAllButUpsideDown;


    if(self.window.rootViewController){
        UIViewController *presentedViewController = [self topViewControllerWithRootViewController:self.window.rootViewController];
        orientations = [presentedViewController supportedInterfaceOrientations];
    }

    return orientations;
}

- (UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController {
    if ([rootViewController isKindOfClass:[UITabBarController class]]) {
        UITabBarController* tabBarController = (UITabBarController*)rootViewController;
        return [self topViewControllerWithRootViewController:tabBarController.selectedViewController];
    } else if ([rootViewController isKindOfClass:[UINavigationController class]]) {
        UINavigationController* navigationController = (UINavigationController*)rootViewController;
        return [self topViewControllerWithRootViewController:navigationController.visibleViewController];
    } else if (rootViewController.presentedViewController) {
        UIViewController* presentedViewController = rootViewController.presentedViewController;
        return [self topViewControllerWithRootViewController:presentedViewController];
    } else {
        return rootViewController;
    }
}

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

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskPortrait;
}

1

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

পদক্ষেপ 1) নিয়ামকটিতে প্রয়োজনীয় ওরিয়েন্টেশন নির্দিষ্ট করুন (উপরে বর্ণিত আরও কম বা কম)

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

-(BOOL)shouldAutorotate
{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    NSInteger mask = UIInterfaceOrientationMaskLandscape;
    return mask;

}

পদক্ষেপ 2) একটি সাধারণ ইউআইএনএভিগেশন কন্ট্রোলার সাবক্লাস তৈরি করুন এবং নিম্নলিখিত পদ্ধতিগুলি প্রয়োগ করুন

-(BOOL)shouldAutorotate {
        return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
        return UIInterfaceOrientationMaskLandscape;
}

পদক্ষেপ 3) আপনার ভিউকন্ট্রোলার উপস্থাপন করুন

vc = [[MyViewController alloc]init];
MyLandscapeNavigationController *myNavigationController = [[MyLandscapeNavigationController alloc] initWithRootViewController:vc];
[self myNavigationController animated:YES completion:nil];

আশা করি এটি কারও সহায়ক হবে।


1

এখানে নিস্তেজ হতে হবে না, তবে আপনি কি আপনার সাবক্লাসটি ভাগ করে নিতে এত দয়াবান হবেন? ধন্যবাদ.

সম্পাদনা করুন: ভাল, অবশেষে আমি এটি করেছি, সাবক্লাসটি করা সহজ ছিল না। আমি কেবলমাত্র ডিফল্ট পরিবর্তে এর হিসাবে ঘোষনা করতে navigationControllerহয়েছিল , তারপরে আপনার সাবক্লাসটি এটি দিয়ে সংশোধিত করেছেন:AppDelegateUINavigationControllerSubclassUINavigationController

- (BOOL)shouldAutorotate {
    return _shouldRotate;
}

সুতরাং আমি ঘোরাতে চাই বা চাইলে কল করে কোনও দৃশ্য সেট করতে পারি viewDidLoad

_navController = (UINavigationController *)self.navigationController;
[_navController setShouldRotate : YES / NO]

আশা করি এই টুইটটি অন্যকেও সহায়তা করবে, আপনার পরামর্শের জন্য ধন্যবাদ!

টিপ: ব্যবহার করুন

- (NSUInteger)supportedInterfaceOrientations

আপনার দৃশ্যের নিয়ামকগুলিতে, যাতে আপনি ল্যান্ডস্কেপে বা তার বিপরীতে কোনও প্রতিকৃতি পছন্দ করেই শেষ করবেন না।


0

আমি নিজে এটি পরীক্ষা করিনি, তবে ডকুমেন্টেশনে বলা হয়েছে যে আপনি এখন এই পদ্ধতিগুলিকে ওভাররাইড করতে পারেন: supportedInterfaceOrientationsএবং preferredInterfaceOrientationForPresentation

আপনি সম্ভবত যা চাইছেন তা অর্জন করতে পারেন কেবলমাত্র সেই পদ্ধতিগুলিতে আপনি যে ওরিয়েন্টেশনটি চান সেটি সেট করে।


0

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

তা ছাড়া উপরের সমাধানগুলি ঠিকঠাক কাজ করে।


0

মনোোটচের জন্য আপনি এটি এইভাবে করতে পারেন:

public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
    {
    return UIInterfaceOrientationMask.LandscapeRight;
}

public override UIInterfaceOrientation PreferredInterfaceOrientationForPresentation()
    {
    return UIInterfaceOrientation.LandscapeRight;
}

0

আমি অনেক উত্তর দেখতে পেয়েছি তবে ওরিয়েন্টেশন সম্পর্কে নির্দিষ্ট ধারণা এবং উত্তর পাচ্ছি না তবে লিঙ্কটি ভালভাবে ওরিয়েন্টেশন বুঝতে হবে এবং ios6 এর জন্য জোর করে ঘোরানো সরিয়ে ফেলছি remove

http://www.disalvotech.com/blog/app-de વિકાસment/iphone/ios-6-rotation-solve/

আমি মনে করি এটি সাহায্যে পূর্ণ।


-1

কেবলমাত্র প্রজেক্ট.প্লেস্টে যান তারপরে সমর্থিত ইন্টারফেস ওরিয়েন্টেশন যুক্ত করুন এবং তারপরে কেবল পোর্ট্রেট (নীচে হোম বোতাম) এবং প্রতিকৃতি (শীর্ষ হোম বোতাম) যুক্ত করুন।

আপনার প্রকল্পের প্রয়োজনীয়তা অনুযায়ী আপনি সেখানে ওরিয়েন্টেশন যোগ বা মুছে ফেলতে পারেন।

ধন্যবাদ


4
এটি সম্পূর্ণ অ্যাপ্লিকেশনের জন্য নয় নির্দিষ্ট ভিউ নিয়ন্ত্রণকারী সম্পর্কে।
মুহাম্মদ রিজওয়ান

-2

1) আপনার প্রকল্পের সেটিংস এবং তথ্য.পল্লিস্ট পরীক্ষা করুন এবং নিশ্চিত করুন যে কেবলমাত্র আপনার পছন্দগুলি বেছে নেওয়া হয়েছে।

2) আপনার শীর্ষস্থানীয় দেখা নিয়ামক (নেভিগেশন নিয়ামক / ট্যাববার নিয়ামক) এ নিম্নলিখিত পদ্ধতিগুলি যুক্ত করুন

- (NSUInteger) supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;

}

3) আপনার অ্যাপের প্রতিনিধিতে নিম্নলিখিত পদ্ধতিগুলি যুক্ত করুন

- (NSUInteger) supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;

}

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    return UIInterfaceOrientationMaskPortrait;

}

-3

ViewControllerআপনি ঘুরতে চান না এমন প্রত্যেকের .m ফাইলে এটি রাখুন :

- (NSUInteger)supportedInterfaceOrientations
{
    //return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
    return UIInterfaceOrientationMaskPortrait;
}

আরও তথ্যের জন্য এখানে দেখুন ।

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