I am new to iPhone development,I need help in understanding the below,as I am able to create newView using the following
UIView *newView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 80, 30)];
newView.backgroundColor=[UIColor clearColor];
UIButton *newViewBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
newViewBtn.frame = CGRectMake(newView.frame.origin.x+5,
newView.frame.origin.y+5,60,20);
[newView addSubview:newViewBtn];
[self.view addSubview:newView];
Above code is working without any problem. But when I try to create the view using the following, view is created alright, but the button on the view is not clickable.
int randNumX = arc4random() % 150;
int randNumY = arc4random() % 200;
UIView newView=[[UIView alloc]init];
newView.frame =CGRectMake(randNumX, randNumY, 80, 30);
newView.backgroundColor=[UIColor clearColor];
UIButton *newViewBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
newViewBtn.frame = CGRectMake(newView.frame.origin.x+5
,newView.frame.origin.y+5,60,20);
[newView addSubview:newViewBtn];
[self.view addSubview:newView];
and there is one another scenario if change the following code
newViewBtn.frame = CGRectMake(newView.frame.origin.x+5
,newView.frame.origin.y+5,60,20);
with the code below app crashes
newViewBtn.frame =CGRectMake(randNumX+5,randNumY+5,60,20);
Any help will be greatly appreciated,thanks in advance.
I have added the following code already
newViewBtn addTarget:self action:@selector(btnclick:)forControlEvents:UIControlEventTouchUpInside];
-(void)btnclick:(id)sender
{
//my code
}
It is working in the first case:
My main concern here is when the newView is draw ,why the button on this view is not clickable
Here the problem is the Line below ,As the new child view must be according to the parent view
newViewBtn.frame =CGRectMake(randNumX+5,randNumY+5,60,20);
writting the above as below solved the problem
newViewBtn.frame =CGRectMake(5,5,60,20);