سؤال

أرغب في جعل عرض Popover مرئيًا عندما يتحول المستخدم من عرض المناظر الطبيعية إلى عرض الصورة في UisplitView من iPad. على الرغم من أن المستخدم يمكن أن يجعله مرئيًا من خلال النقر على زر شريط ، لكنني أريد أن يكون هذا مؤتمراً لوضع الصورة.

هل كانت مفيدة؟

المحلول

Inside " -(Bool) يجب أن يكون MethodorotateToInterfaceorientation" ، تحقق من وجود اتجاه الجهاز. إذا كان صورة ، ثم قدم البوبوفر كما تفعل لجعله مرئيًا عندما يقوم المستخدم بالنقر فوق الزر.

أتمنى لك كل خير.

نصائح أخرى

يرسل UISplitViewController رسائل إلى مندوبه (UisplitViewControllerDelegate). يمكنك تنفيذ أساليب المندوب هذه لإظهار البوبوفر. يمكنك أن تفعل شيئًا كهذا في رمز "وحدة تحكم التفاصيل" الخاصة بك:

#pragma mark -
#pragma mark UISplitViewControllerDelegate implementation
- (void)splitViewController:(UISplitViewController*)svc 
     willHideViewController:(UIViewController *)aViewController 
          withBarButtonItem:(UIBarButtonItem*)barButtonItem 
       forPopoverController:(UIPopoverController*)pc
{  
    [barButtonItem setTitle:@"Your 'popover button' title"];
    self.navigationItem.leftBarButtonItem = barButtonItem;
}


- (void)splitViewController:(UISplitViewController*)svc 
     willShowViewController:(UIViewController *)aViewController 
  invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
    self.navigationItem.leftBarButtonItem = nil;
}

الجواب المقبول (باستخدام shouldAutorotateToInterfaceOrientation) لا يعمل بالنسبة لي. إما أنه يحتوي على قطع أثرية دوران (في محاكاة iPad 4.2 و 5.0) أو يظهر فقط عند بدء التشغيل وليس مرة أخرى في الدورات اللاحقة (محاكاة 4.3). ما فعلته بدلاً من ذلك هو إنشاء وظيفة مساعدة صغيرة:

- (void)showPopoverInPortrait {
    if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait) {
        [self.masterPopoverController presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem
                                             permittedArrowDirections:UIPopoverArrowDirectionAny 
                                                             animated:YES];
    }
}

ودعى هذا في الداخل - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation و - (void)viewDidLoad للتعامل أيضًا مع بدء التشغيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top