Görünümü denetleyicisi'görünüm - Neyi yanlış yapıyorum ler için özel bir küme (Bir xib oluşturulan) ekleme
Bir xib (etkinlik göstergesi, bir ilerleme görmek ve bir etiket ile) bir görünüm yarattım. O zaman yarattım .h/.m dosyaları:
#import <UIKit/UIKit.h>
@interface MyCustomView : UIView {
IBOutlet UIActivityIndicatorView *actIndicator;
IBOutlet UIProgressView *progressBar;
IBOutlet UILabel *statusMsg;
}
@end
#import "MyCustomView.h"
@implementation MyCustomView
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
// Initialization code
}
return self;
}
- (void)dealloc {
[super dealloc];
}
@end
İB, dosyanın sahibi ve Kimlik ve Dosya sahibine İBOutlet MyCustomView bağlamak için görüntüleyin
MyViewController.m,.
- (void)viewDidLoad {
[super viewDidLoad];
UIView *subView = [[MyCustomView alloc] initWithFrame:myTableView.frame];
[subView setBackgroundColor:[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5]];
[myTableView addSubview:subView];
[subView release];
}
Uygulamayı çalıştırdığınızda, bir görünüm eklenir, ama etiketi, ilerleme çubuğu ve etkinlik göstergesi göremiyorum.
Neyi yanlış yapıyorum?
CEVAP
-loadNibNamed
yöntemi kullanarak yüklemeniz gerekir. -initWithNibName
UİViewControllers içindir.
MyCustomView ınit yöntemi için aşağıdaki kodu ekleyin:
NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
UIView *mainView = [subviewArray objectAtIndex:0];
[self addSubview:mainView];
Unutmayın, eğer bir ucu bir nesne başlatma, - (id)initWithCoder:(NSCoder *)aDecoder
başlatmak için çağırır, eğer uç içinde MyCustomView nesne oluşturuyorsanız, bu geçersiz kılmak Zorundasınız. Eğer sadece initWithFrame:
ile yapıyorsan, o zaman geçersiz kılmak ve yukarıdaki kodu ekleyin. Ayrıca, hala, bir üst düzey UİView var, ve bunun içinde tüm diğer unsurlar sizin subviewArray sadece bir kayıt olduğundan emin kılan () yer emin olun.
Bu kalem ucu manzarası yük ve nesne eklemek ve hile yapmak gerekir.
Özel ArrayİndexOutOfBoundsException gö...
iPhone en üstteki görünüm denetleyicis...
Liste Görünümü için özel Adaptör...
viewWillDisappear: görünüm denetleyici...
Özel görünümü bir program aracılığıyla...