سؤال

كيفية تغيير لون الخلفية للرؤية ديناميكيًا؟ هل أقوم بتعيين مؤقت وتعيين خاصية لون الخلفية للعرض للتغيير في حلقة؟

كيف تحقق هذه الوظيفة؟

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

المحلول

في مكان ما في الكود الخاص بك (ViewDidAppear هو مكان جيد)

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5 // seconds
                                                  target:self
                                                selector:@selector(changeBackground:)
                                                userInfo:nil
                                                 repeats:YES];

طريقة في صفك:

- (void)changeBackground:(NSTimer *)timer {

    if (iWantToCancelTimer) {
        [timer invalidate];
    }

    self.view.backgroundColor = [UIColor whateverColor];
}

سيكون هذا تغييرًا مفاجئًا ، لذا ربما ترغب في إجراء رسوم متحركة ، ولكن هذا سؤال مختلف.

نصائح أخرى

يبدو أنك تريد فقط عرضك لتغيير ألوان الخلفية كل فترة زمنية. لذلك ، نعم للعرض المعني ، يمكنك تعيين مؤقت وتغيير الخلفية C olor في كل مرة تطلق فيها النار (ربما يمكنك إنشاء بعض قيم RGB بشكل عشوائي).

يمكنك استخدام + (nstimer *) SecrledTimerWithTimeInterval: (nstimeinterval) الهدف الثواني: (معرف) المحدد الهدف: (SEL) ASElector userinfo: (id) userinfo يكرر: قم بتغيير خلفية العرض ... ضع في اعتبارك أن Uikit ليس مؤشر الترابط s afe ، لذا إذا كان لديك المؤقت الذي يعمل في موضوع آخر ، فيجب عليك تغيير خلفية المشاهدات في الخيط الرئيسي ..

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