2013-02-14 1 views
1

в Viewdidload где CandidateView является обычай ViewControllerUIControlEventTouchDragInside Выпуск

for (int i = 0; i < 9 ; i++) { 
    for (int j = 0; j < 3; j++) { 
     CandidateView *candView = [[CandidateView alloc]init]; 
     candView.view.frame = CGRectMake(15 + i*186 ,17 + j*145, 158,130); 
     [candView.btnCandidate addTarget:self action:@selector(wasDragged:withEvent:) forControlEvents:UIControlEventTouchDragInside]; 
     [mainScroll addSubview:candView.view]; 
    } 
} 

Это метод

-(void)wasDragged:(UIButton *)button withEvent:(UIEvent *)event 
{ 

    UITouch *touch = [[event touchesForView:button] anyObject]; 
    // get delta 
    CGPoint previousLocation = [touch previousLocationInView:button]; 
    CGPoint location = [touch locationInView:button]; 
    CGFloat delta_x = location.x - previousLocation.x; 
    CGFloat delta_y = location.y - previousLocation.y; 

    // move button 
    button.center = CGPointMake(button.center.x + delta_x,button.center.y + delta_y); 
} 

Из этого кода я могу переместить кнопку в CandidateView .. Теперь я хочу, чтобы перетащить весь CandidateView или я должен сделать UIView вместо UIViewcontroller. Может ли кто-нибудь мне помочь? Заранее спасибо. :)

ответ

1

Сделайте UIView и поместите все в это, UIView должен заполнить экран вашего «UIViewController», метод перетаскивания должен отлично работать для этого тоже :) Удачи! (* Еще одно решение, которое вы, возможно, захотите изучить, - это сделать UIScrollView, который содержит все ваши вложенные объекты)

Смежные вопросы