Q:

UIButton not clickable when custom view called

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

A:

When adding a custom subview to a UIButton you have to run off the userInteractionEnabled property.
customView.userInteractionEnabled = NO;

then add to your button.
[customButton addSubView:customView];

Otherwise your custom view intercepts touch events before the button since it's added to the top of the view stack.

A:

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);

