يختفي Uitoolbar بعد رفض وحدة التحكم في العرض الوسيط
-
26-09-2019 - |
سؤال
أدرك أن بعضكم قد لا يكون على دراية بـ Monotouch ، ولكن قد تكون هذه بالتأكيد مشكلة عامة في iOS بدلاً من مشكلة أحادية محددة.
أقوم بإعادة إنشاء تطبيق له وظائف مماثلة لتطبيق البريد الافتراضي:
هذا هو الترفيه البسيط لتطبيقنا. انه UIView
الذي يحتوي على أ UITableView
و UIToolbar
. يتم تحميله من ملف XIB (الذي يحتوي على رمز وحدة تحكم العرض المصاحب). هذا العرض هو عرض uitabcontroller (على الرغم من أنني متأكد من أن هذا لا ينبغي أن يؤثر على الأشياء؟).
تم دفع هذا من وحدة تحكم التنقل باستخدام
controller.PushViewController(inboxItem.Controller, true);
(عندما يكون BoxItem كائنًا مخصصًا قمت بإنشائه ، فإن خاصية وحدة التحكم هي وحدة التحكم في عرض الوارد الوارد).
يعرض الضغط على زر اليد اليمنى على شريط الأدوات طريقة عرض شرطية جديدة (تكوين رسالة جديدة) - وهو ما يفعله وبغض النظر عن الطريقة التي تم رفضها ، عند الفصل ، UIToolbar
يختفي. ومع ذلك ، إذا قمت بالنقر فوق علامة تبويب أخرى ، فانقر فوق مرة أخرى إلى علامة التبويب هذه ، تظهر شريط الأدوات مرة أخرى. هل هذه قضية إعادة رسم؟
هل أفعل شيئًا خاطئًا في الطريقة التي أقوم بإنشاء تطبيقي؟ أو هل صادفت أن أتعثر عبر بعض علة iOS/monotouch الغريبة؟ (آمل أن يكون الأمر الأول - حتى أتمكن من تحسين تطوير iOS).
المحلول
حللت المشاكل. في الأساس ، كان ما كان يحدث عندما تم تقديم Modalview ثم رفضه ، تم نقل شريط الأدوات إلى أسفل بمقدار 44 بكسل في كل مرة.
في المثال الخاص بي ، يتم وضع شريط الأدوات فوق uitabbar ، لذلك عندما تم رفض عرض الوسائط ، تم نقل شريط الأدوات عن الأنظار. لست متأكدًا من حدوث ذلك ، لكنني سأكون متأكدًا من تقديم تقارير الأخطاء المناسبة.
تتمثل إحدى الطرق السريعة والمتسقة (جدًا) في هذا الأمر في تحريك شريط الأدوات إلى 44 بكسل عند عرض ModalView ، بحيث عندما يتم رفضه ، فإنه سوف ينقله إلى الموضع المناسب.