كيفية استخدام مندوب webkit بشكل صحيح لبدء وإيقاف Spinner، OS X، OBJ-C

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

  •  12-12-2019
  •  | 
  •  

سؤال

يبدو أن هذا يجب أن يكون بسيطًا جدًا، لكنني جديد جدًا في Objective-C.ما أريد فعله هو ببساطة تشغيل القرص الدوار وإيقافه أثناء تحميل WebView الخاص بي.هذا هو تطبيق OS X.كل ما بحثت عنه هو Cocoa Touch، وأنا أستخدم الكاكاو فقط.في تطبيق AppDelegate.m الخاص بي، لا بد لي من استخدام الأساليب التي تبدأ وتوقف القرص الدوار (هذا يعمل بالفعل، لقد قمت باختباره).

-(IBAction)goSpin:(id)sender
{
    [spinner startAnimation:self];
}

-(IBAction)stopSpin:(id)sender
{
    [spinner stopAnimation:self];
}

لدي أيضًا طريقتان للتفويض لعرض الويب، وقد قمت بتجاوزهما.

-(void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
{
    [self goSpin:self];
}

-(void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
{
    [self stopSpin:self];
}

في الأساس، أود أن أعرف كيف يمكنني الحصول على عرض الويب الخاص بي لتعيين المفوض الخاص به.عادةً ما يتعين عليّ القيام بشيء ما في الملف ‎.h، لكن لا يمكنني العثور على أي مراجع تسرد ما هو مفوض webKit الذي قد يصلح لهذا الغرض.سيكون موضع تقدير أي مساعدة.

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

المحلول

ال

-(void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame

و

-(void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame

الأساليب هي جزء من بروتوكول WebFrameLoadDelegate.

عرض ويب لديه frameLoadDelegate ملكية.وضعه على الخاص WebView المثال عن طريق الاتصال [webView setFrameLoadDelegate:delegate], ، أين delegate هو NSObject الذي ينفذ الطريقتين (سيكون من الأسهل عليك القيام بذلك self FrameLoadDelegate هنا).نظرًا لأن WebFrameLoadDelegate هو بروتوكول غير رسمي، delegate يجب أن يعلن الطريقتين في ملف .h الخاص به، بدلاً من الإضافة <WebFrameLoadDelegate> لإعلان فئتها كما هو الحال مع البروتوكول الرسمي.

نصائح أخرى

يمكنك تجاوز طرق مفوض WebView هذه لتبدأ وإيقاف Spinner. giveacodicetagpre.

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