لماذا توجد فجوات يسارية/اليمنى عندما أضيف صورة إلى شريط التنقل الخاص بي؟
-
22-09-2019 - |
سؤال
UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];
أحاول إضافة صورة إلى شريط التنقل الخاص بي ، لكن عندما استخدمت الكود كما هو مذكور أعلاه ، فإنه يضع الصورة في شريط التنقل ولكن يترك فجوة رمادية على اليسار واليمين من الصورة. تم إنشاء الصورة على 320 × 44 ، لست متأكدًا من سبب تغيير حجمها على الرغم من حقيقة أنني أقوم بإعداد الإطار.
المحلول
هذا ... ربما ليس كيف تريد أن تفعل ذلك - ليس هذا ما titleView
هو ل. الطريقة المعتادة للقيام بخلفية شريط التنقل المخصص هي إنشاء فئة على UINavigationBar
, ، مثل ذلك:
@implementation UINavigationBar(MyCustomBackground)
- (void)drawRect:(CGRect)r
{
[[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
}
@end
قم برمي ذلك في ملف .m في مشروعك وستشاهد جميع قضبان التنقل الخاصة بك تستخدم "My Navigation-Background.png" كخلفية.
لا تنتمي إلى StackOverflow