2013-04-30 79 views
0
的UIImageView座標辭退的UIScrollView

有一個UITableView有許多照片。在拍攝照片時,modalViewUIScrollView一起呈現,其中還嵌入有UIImageView。點擊圖片在這裏展示(類似Facebook應用程序)。 現在,我可以使用touchesMovedCGRectMake垂直移動圖像。 我想要實現的是,當我上下拖動圖像,在達到一定的閾值時,ImageView的&滾動型應該會消失,我們應該回到的tableView。基於觸摸上嵌入的UIScrollView

- (void) touchesMoved:(NSSet *)touches 
     withEvent:(UIEvent *)event { 
    UITouch * touch = [touches anyObject]; 
    CGPoint pos = [touch locationInView: [UIApplication sharedApplication].keyWindow]; 
    NSLog(@"%f", pos.y); 

if (pos.y>50&&pos.y<430){ 
    [UIView setAnimationDelay:0]; 

    [UIView animateWithDuration:0.4 

        animations:^{_photoImageView.frame=CGRectMake(0,pos.y-100,320,200);} 

        completion:^(BOOL finished){ }]; 
} 
} 

動作將控制返回給所述的tableView這裏需要:

圖片使用移動

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 

UITouch * touch = [touches anyObject]; 
CGPoint pos = [touch locationInView: [UIApplication sharedApplication].keyWindow]; 

if (pos.y>50&&pos.y<430){ 
    [UIView setAnimationDelay:0]; 

    [UIView animateWithDuration:0.4 

        animations:^{_photoImageView.frame=CGRectMake(0,140,320,200);} 

        completion:^(BOOL finished){ }]; 
} 
else if(pos.y<50||pos.y>430) 
    //Code needed here !! 
    ; 
} 

此外,如果透明性可以在imageView背景(即,滾動型)來實現這樣的該表視圖是可見的某些阿爾法,這將不勝感激。

+0

要補充的UIView或UIViewController中 – 2013-04-30 07:57:11

+0

這是一個UIView。 – n00bProgrammer 2013-04-30 08:05:13

+0

[查看removeFromSuperView];你沒有嘗試這個視圖是你的滾動視圖 – 2013-04-30 08:07:43

回答

0

dismissModalViewControllerAnimated:中關閉(應使用較新的方法dismissViewControllerAnimated:completion:)。

(這是假設你帶有presentModalViewController:animated:,只是添加視圖屏幕是不是一個模態演示)。如果您沒有真正呈現模式,那麼只需使用removeFromSuperview即可。

當呈現視圖模式方式下面的視圖將顯示被刪除(它的預期不可見),所以如果你做的模態視圖透明,你只會看到黑色的下方。如果你想讓疊加視圖透明,你應該把它設爲子視圖,設置不透明度(alpha)並使用bringSubviewToFront:

+0

如果是由我決定,我只能使用子視圖。我對使用Modals有偏見。他們缺乏所需的靈活性。 – n00bProgrammer 2013-04-30 08:53:06