إن إضافة عرض فرعي يتصرف بشكل مختلف في التوزيع المخصص
-
13-12-2019 - |
سؤال
هذا واحد غريب.لدي تطبيق أكثر تعقيدًا لن أذكر تفاصيله هنا، ولكن إحدى ميزاته هي أنه يتراكب مع عرض أسود شفاف فوق كل شيء في كل مرة يتم فيها الاتصال بالخادم.
وأضيف هذا الرأي مثل هذا:
MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate;
[appDelegate.window addSubview:http.progressView.view];
عندما أقوم بتشغيله على جهاز المحاكاة أو على الجهاز، كل شيء يعمل بشكل جيد:الشاشة السوداء تتراكب على كل شيء آخر كما هو متوقع.
الجزء الغريب هو هذا:أقوم بأرشفة التطبيق وتعبئته كملف .ipa ثم تثبيته على الهاتف باستخدام iTunes (أو TestFlight).عندما أفعل ذلك، في بعض الأماكن، يتم إزاحة التراكب الأسود إلى الجزء العلوي الأيمن من الشاشة بحوالي 10 بكسل، مثل frame.origin.x
سيكون 10 و frame.origin.y
سيكون -10.
هل يعرف أحد ما قد يختلف عند إنشاء التطبيقات مثل .ipa مما يجعلها تتصرف بشكل مختلف تمامًا.أخشى أن هذا لن يحدث أيضًا عندما أقوم ببنائه للنشر.
المحلول
والفرق هو أنه سيتم إنشاؤه باستخدام إعدادات الإصدار أثناء الأرشفة (على سبيل المثال.مستوى التحسين s
عادة، مقابل مستوى التحسين 0
للتصحيح).
أنت لا تقوم بتعيين إطار http.progressView.view
والذي من المحتمل أن يسبب المشاكل.تعيينه ليكون applicationFrame
من النافذة UIScreen
:
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;