Я добавляю пользовательскую кнопку / клавиатуру в свое приложение. До сих пор у меня есть подкласс UIImageView, который содержит анимацию, которая перемещает его из нижней части экрана, а затем обратно, когда пользователю это больше не нужно. У меня проблемы с добавлением UIButtons к этому UIImageView, однако.
Поскольку это подкласс UIView, я пытаюсь добавить кнопки в мое представление с помощью метода initWithFrame :. (метод slideDown - добавленная анимация)
в моем подклассе UIImageView добавлен объект ivar UIButton:
-(id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame: frame]) {
UIButton *button = [UIButton buttonWithType: UIButtonTypeRoundedRect];
button.frame = CGRectMake(16.0, 20.0, 50.0, 50.0);
[button setTitle: @"Go" forState: UIControlStateNormal];
[button addTarget: self action: @selector(slideDown) forControlEvents: UIControlEventTouchUpInside];
self.button1 = button;
[self addSubview: button1];
NSLog(@"Button added");
}
return self;
}
В моем контроллере представления я создаю экземпляр своего подкласса UIIMageView в методе - (void) viewDidLoad: следующим образом:
-(void)viewDidLoad {
//other objects init'ed
ButtonPad *customPad = [[ButtonPad alloc] initWithImage: [UIImage imageNamed: @"ButtonPad.png"]];
customPad.frame = CGRectMake(0.0, 480.0, 320.0, 300.0);
self.buttonPad = customPad;
[self.view addSubview: buttonPad];
[customPad release];
[super viewDidLoad];
}
Мое текущее приложение позволяет скользить вверх и вниз по экрану без каких-либо проблем. Однако кнопка никогда не появляется. Я также попытался добавить кнопку в мой объект buttonPad, создав его экземпляр и добавив его в качестве вспомогательного элемента в buttonPad в моем файле контроллера представления. Это сработало ... но не позволило кнопке функционировать.
Мне интересно:
A.) Уместно ли добавить кнопки или любое подпредставление по этому вопросу в initWithFrame: метод UIView или я должен добавить эти подпредставления в качестве подпредставления к моей кнопочной панели в файле Controller представления?
B.) Поскольку я создаю пользовательскую кнопку / клавиатуру, следую ли я правильному подходу, используя обычный UIViewController, или я должен использовать что-то вроде контроллера модального представления? (У меня мало знаний об этом.)