في تطبيق Photoscroller (تطبيق صور iPhone WWDC-104) ، تتحول صور UisCrollView إلى اليمين عند استدعاء استخدام PresentModalViewController

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

سؤال

لقد رأيت فيديو WWDC-104 يعرض UisCrollView للصور. لقد قمت بتنزيل رمز العينة أيضًا. في تطبيقي ، الهيكل كما يلي ،

(فئة الجذر) الفئة A ---> الفئة B -----------> PhotoViewController (يحتوي على ScrollView)

أنا أتصل بفئة PhotoviewController باستخدام طريقة PresentModalViewController في الفئة B.

ولكن مع كل انتقاد ، تتحول الصورة الجديدة إلى اليمين في العرض. يتم عرض الشريط العمودي الأسود على يسار الصورة التي تتسع مع كل انتقاد. لذلك بعد 6 إلى 8 صور تصبح العرض سوداء تمامًا.

لم أكتب أي رمز آخر. فقط نسخ الفصول.

لماذا يحدث هذا عندما لا يتم تحميل فئة PhotoViewController؟ هل هناك أي خاصية تحتاج إلى تعيين Scrollview؟ هل هناك أي خطأ في هذا العرض الهرمي؟

أيضا كيف تبدأ من صورة معينة (تحميل من الصورة العاشرة)؟

أي مساعدة/اقتراح سيكون موضع تقدير كبير.

تعديل :

alt text

بعد أول انتقاد أفقي ،

alt text

بعد انتقاد أفقي الثاني ،

alt text

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

المحلول

ألم يتم دفع PhotoViewController الخاص بك بواسطة uinavigationController عند استخدامه في التطبيق الخاص بك؟

هذه هي المشكلة ، يقوم NavigationController بتعديل إطار ScrollView ، ولم يعد العرض الموسع والعرض الممتد الذي أنشأته PhotoViewController هناك بمجرد ظهور العرض.

أسهل طريقة لإصلاح ذلك هي تعيين طريقة عرض PhotoViewController إلى Uiview العادية وإضافة Scrollview باعتبارها نظرة فرعية على Uiview هذه. بعد ذلك ، سيقوم NavigationController بتعديل إطار هذا العرض ولكنه لن يلمس العرض الفرعي.

UIView * intermediateView = [[UIView alloc] initWithFrame:pagingScrollViewFrame];
[intermediateView addSubview:pagingScrollView];
self.view = intermediateView;

ألق نظرة على هذا السؤال لمزيد من المعلومات:صور تشبه التطبيق بين الصفحات في UisCrollView مع pagingenabled

نصائح أخرى

يبدو أنك قد لا تأخذ هامش الصورة بين الصور في الاعتبار. هل قمت أيضًا بنسخ ملفات الموارد الخاصة بهم؟ إذا كنت أتذكر بشكل صحيح ، فإن ScrollView قد امتدت "قبالة الصفحة" قليلاً لإعطاء هامش بين الصور.

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