2015-05-04 31 views
1

我有這個代碼來增加圖像的高度。如何以最小值和最大值拖動圖像?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    UITouch *touch = [[event allTouches] anyObject]; 
    touchStart = [[touches anyObject] locationInView:self.image]; 
    touchStart2 = [[touches anyObject] locationInView:self.tableView]; 
    isResizingLR = (self.image.bounds.size.height - touchStart.y < kResizeThumbSize); 
} 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ 
    CGPoint touchPoint = [[touches anyObject] locationInView:self.image]; 
    CGPoint previous=[[touches anyObject]previousLocationInView:self.image]; 

    float deltaWidth = touchPoint.x-previous.x; 
    float deltaHeight = touchPoint.y-previous.y; 


    if (isResizingLR) { 

     self.image.frame = CGRectMake(self.image.frame.origin.x, self.image.frame.origin.y, self.image.frame.size.width, touchPoint.y + deltaWidth); 
     self.tableView.frame = CGRectMake(self.tableView.frame.origin.x ,self.tableView.frame.origin.y + deltaHeight, self.tableView.frame.size.width, self.tableView.frame.size.height - deltaHeight); 
     self.viewTitle.frame = CGRectMake(self.viewTitle.frame.origin.x ,self.viewTitle.frame.origin.y + deltaHeight, self.viewTitle.frame.size.width, self.viewTitle.frame.size.height); 
    } 
} 

我想爲minimHeight = 100和maximHeight = 300放置一個條件; 我該怎麼做? 我已經嘗試:

if (isResizingLR) { 

     if (self.image.frame.size.height >100 && self.image.frame.size.height <300) { 
     self.image.frame = CGRectMake(self.image.frame.origin.x, self.image.frame.origin.y, self.image.frame.size.width, touchPoint.y + deltaWidth); 
     self.tableView.frame = CGRectMake(self.tableView.frame.origin.x ,self.tableView.frame.origin.y + deltaHeight, self.tableView.frame.size.width, self.tableView.frame.size.height - deltaHeight); 
     self.viewTitle.frame = CGRectMake(self.viewTitle.frame.origin.x ,self.viewTitle.frame.origin.y + deltaHeight, self.viewTitle.frame.size.width, self.viewTitle.frame.size.height); 
     } 
    } 

但在每一個時間拖後的圖像:self.image.frame.size.height = 100或300,我不能調整圖像。他需要一直拖下去! 謝謝!

編輯: 我不想調整圖像時heightImage爲100

我的原始圖像的高度是200我的用戶可以點擊和調整圖像,他想怎樣,但沒有超過300且小於100我只是把最小和最大的高度。我希望你現在明白。

+0

「但每當self.image.frame.size.height = 100或300時,我無法調整圖像大小[...]編輯:我不想在heightImage爲100時調整圖像大小。」 ??? –

+0

只是一個例子。 圖像需要每次拖動,但最小和最大尺寸(值)。在300增加高度後,例如我無法調整到200。 –

回答

0

我解決了這個問題。

int aux=touchPoint.y + deltaWidth; 
if (aux>300) { 
      aux=300; 
     } 
     else if(aux<100){ 
      aux=100; 
     } 
self.image.frame = CGRectMake(self.image.frame.origin.x, self.image.frame.origin.y, self.image.frame.size.width, aux); 
1

您是否嘗試過測試<=>=

if (self.image.frame.size.height >= 100 && self.image.frame.size.height <= 300) { 
    //... 
} 
+0

編輯:我不希望resize圖像時,身高圖像是100. 我原來的圖像高度是200.我的用戶可以點擊和調整圖像他想怎麼樣,但沒有超過300和小於100.我只是把最低和最大高度。我希望你現在明白。 –