UiactivityindicatorView داخل Uibuttonbaritem لا يعمل بشكل صحيح
-
19-09-2019 - |
سؤال
أحاول الحصول على UiactivityIndicatorView للعمل داخل uibuttonbaritem باستخدام التعليمات البرمجية التالية:
- (void)showActivityIndicator
{
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
[activityIndicator startAnimating];
UIBarButtonItem *activityBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
[activityIndicator release];
self.navigationItem.rightBarButtonItem = activityBarButtonItem;
[activityBarButtonItem release];
}
إنه يعمل على النقطة التي يتم عرض مؤشر النشاط، لكنها ليست داخل شريط زر.
هل لدى أي شخص أي أفكار حول ما أفعل الخطأ هنا؟
المحلول
هذا ما فعلته للحصول على مؤشر نشاط لتظهر عندما أردت ذلك على الجانب الأيسر من شريط الأدوات:
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0, 0.0, 25.0, 25.0)];
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
activityIndicator.hidesWhenStopped = YES;
UIBarButtonItem *btnActivity = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
NSMutableArray *tItems = [self.toolbar.items mutableCopy];
[tItems insertObject:btnActivity atIndex:0];
self.toolbar.items = tItems;
[tItems release];
بعد ذلك، بالإضافة إلى التعليمات البرمجية الخاصة بي عندما أرغب في إظهار مؤشر النشاط، أستخدمه ببساطة بالطريقة العادية:
[activityIndicator startAnimating];
وعندما لا أريد أن أراه بعد الآن:
[activityIndicator stopAnimating];
نصائح أخرى
لكنه ليس داخل شريط زر
و اين هو؟
ربما يكون الإطار الذي تحدده غير صحيح؟ هل حاولت CGRectZero
أو شيء عشوائي (على سبيل المثال CGRectMake(40,60,20,20)
) هل لديها أي تأثير على موقف المؤشر؟
هل حاولت تحديد width
خاصية البند؟
لا تنتمي إلى StackOverflow