سؤال

أحاول إنشاء وحدة تحكم منتقي مع زر "تم القيام به" الموجود فوقه مباشرة ، لعرضه على نموذج في عرض آخر.

لقد قمت بإنشاء فئة فرعية من UiviewController واستخدام IB لقد أضفت شريط أدوات وعرض منتقي. يبدو هذا جيدًا ومن خلال نسخ الأمثلة في uicatalog ، يمكنني الحصول عليها لعرض القيم المطلوبة ويمكنني الاستماع إلى التحديدات وما إلى ذلك.

alt text http://web.me.com/gareth.davis/so/Settlement_picker_ui.png

في ما سبق قمت بتعيين لون الخلفية للعرض ليكون ألفا 0.0. لقد حاولت أيضًا تعيين ألفا للعرض ، حيث يعرض فقط وجهة نظر شفافة تمامًا.

alt text http://web.me.com/gareth.davis/so/picker_running_in_app.png

ما سبق هو وحدة التحكم في العرض المعروضة على الجزء العلوي من النموذج الخاص بي باستخدام:

    [self presentModalViewController:settlementPickerViewController                         
                        animated:YES];

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

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

المحلول

يبدو أن الحل ليس هو استخدام UIVIEWController بدلاً من ذلك ، فإن UIVIEW مخصص بسيط يقوم بالمهمة بشكل جيد.

لقد استخدمت إعداد لون Haentz في طريقة Awakefromnib:

- (void)awakeFromNib {
    picker.delegate = self;
    self.backgroundColor = [UIColor clearColor];    
}

لاحظ أنه يتعين عليك تنفيذ هذا وعدم استخدام طريقة initWithFrame التي يمنحك قالب X-Code كأشاهد مفادقي محكومة NIB لا تستخدم initWithFrame (من وثائق Apple).

نصائح أخرى

ربما لا أحصل عليها ، لكنني لا أفهم بالضبط ما هي المشكلة هنا. في لقطة الشاشة السفلية ، هل يجب أن تكون عناصر واجهة المستخدم شفافة ، بدون المنطقة البيضاء أعلاه؟ تحتاج إلى تعيين إطار UIVIEW في UIVIEWCONTROLLER بشكل مناسب وأعتقد أنه قد تضطر إلى ضبط لون الخلفية شفافًا:

self.view.backgroundColor = [UIColor clearColor];

لست متأكدًا ، نظرًا لأنني لا أستخدم IB أبدًا ، ولكن قد يكون من الممكن ضبط قيمة ألفا لون الخلفية للعرض الأساسي إلى 0. ليس ألفا للمنظر نفسه ، ولكن من لون الخلفية.

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