Перемещение UIView при нажатии кнопки UIB - PullRequest
1 голос
/ 07 сентября 2010

моя точка зрения выглядит следующим образом:

BigView
- UIScrollView
  - View 1
  - View 2
  - View 3
- UIView
  - UIButton

Теперь я хочу, чтобы при нажатии кнопки UIB BigView (который включает в себя и кнопку) перемещался на 100 пикселей вверх (так что части BigView больше не видны), а другой UIView становится видимым при свободном доступе. пространство под BigView.

У тебя проблема? :)

Как мне этого добиться?

Заранее спасибо!

Ответы [ 3 ]

13 голосов
/ 08 сентября 2010

Просто выполните анимацию UIView в методе, который вы вызываете при нажатии кнопки:

[UIView beginAnimations:@"MoveView" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDuration:0.5f];
self.BigView.frame = CGRectMake(newXPoistion, newYPosistion, samewidth, sameheight);
[UIView commitAnimations];  

Это оживит большое представление для новых координат, которые вы даете, и должно переместить все в этом представлении, а также

4 голосов
/ 02 мая 2013

Если вы хотите мгновенный ход (без анимации), вы можете сделать это так:

CGRect rect = someView.frame;
self.someView.frame = CGRectMake(0, 0, rect.size.width, rect.size.height);
0 голосов
/ 04 сентября 2017

Свифт 3

  let rect = someView.frame

  self.view1.frame = CGRect(x: view1.frame.midX, y: 400, width: rect.width, height: rect.height)

// Или

 rectHeigh = someView.frame.height
 rectWidth = someView.frame.width

 view1.frame = CGRect(x: view1.frame.midX, y: 400, width: rectWidth, height: rectHeigh)
...