كيف يمكنني الحصول على popover من علامة تبويب بدلاً من العرض

StackOverflow https://stackoverflow.com/questions/4405350

سؤال

لدي تطبيق Tabbar ، وأريد أن يأتي Popover من إحدى علامات التبويب. هل هناك طريقة جيدة/سهلة للقيام بذلك دون تغيير وجهات النظر؟

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

المحلول

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

CGFloat tabBarHeight = self.tabBarController.tabBar.bounds.size.height;
CGRect rect = CGRectMake(0, 0, tabBarHeight, tabBarHeight);
[popoverController presentPopoverFromRect:rect 
    inView:self.tabBarController.tabBar 
    permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

يمكنك محاولة تقدير موضع عنصر شريط علامة التبويب مع مراعاة الاتجاه الحالي إذا كنت ترغب حقًا في ضبط إحداثيات X المذكورة أعلاه وضبطها.

يمكنك أيضًا النظر في المشاهدات الفرعية لـ Tabbar والعثور على كائن Uitabbarbutton ولكن هذا غير موثق لذلك لا ينصح به.

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