У меня есть подкласс UIButton INMenuCard, и я перезаписываю initWithFrame, чтобы включить индикатор активности. MenuCard размещается правильно, но любая внутренняя ссылка на «frame» дает мне «inf, inf, 0,0», что означает, что мое подвид ActivityIndicator размещено неправильно. Чего мне не хватает?
@implementation INMenuCard
- (id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame])
{
CGRect innerFrame = CGRectInset(frame, 50.0f, 100.0f);
activityIndicator = [[UIActivityIndicatorView alloc]
initWithFrame:innerFrame];
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
[self addSubview:activityIndicator];
}
return self;
}
Я создаю экземпляр INMenuCard с помощью (отладка показывает, что значения CGRect верны):
CGRect cardFrame = CGRectMake(cardX, cardStartY, cardWidth, cardHeight);
INMenuCard *menuCard = [[INMenuCard buttonWithType:UIButtonTypeCustom] initWithFrame:cardFrame];
[theView addSubView:menuCard];