Я реализую подкласс UIView с drawRect: как я могу нарисовать кнопку? - PullRequest
0 голосов
/ 23 мая 2011

У меня есть подкласс UIView, который я делаю для часто используемого небольшого представления во всем приложении.Я рисую изображения и текст представления без проблем, и теперь я должен добавить 2 кнопки для этого представления.Как правильно это сделать?

Ответы [ 3 ]

1 голос
/ 05 июня 2013

Любое представление может иметь подпредставления, даже если представление реализует drawRect:. Содержание подпредставления всегда перекрывает содержание суперпредставления. А UIButton это вид. Так что просто добавьте свои кнопки в качестве подпредставлений вашего пользовательского представления.

0 голосов
/ 05 июня 2013
//required ...
UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"who am i?" forState:UIControlStateNormal];
[button setFrame:CGRectMake(20, 20, 200, 40)];
[button addTarget:self action:@selector(performAction) forControlEvents:UIControlEventTouchUpInside];

//optional properties..
[button setBackgroundColor:[UIColor greenColor]];
[button setImage:[UIImage imageNamed:@"someImg.png"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"green-hdr-bg.png"] forState:UIControlStateNormal];
[button setImageEdgeInsets:UIEdgeInsetsMake(5, 5, 5, 5)];

[yourCustomView addSubview:button];



-(void)performAction
{
    //do you button click task here
}
0 голосов
/ 23 мая 2011

Вы можете просто добавить его следующим образом:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[button setTitle:@"Button title" forState:UIControlStateNormal]; //Set the title for regular state
[button addTarget:self 
       action:@selector(yourMethod:)
 forControlEvents:UIControlEventTouchDown];
button.frame = CGRectMake(40, 100, 160, 240); //make the frame
[view addSubview:button]; //add to current view

Тем не менее уже есть несколько тем, освещающих эту тему, используйте панель поиска.:)

...