Настройка UISegmentedControl - PullRequest
       2

Настройка UISegmentedControl

0 голосов
/ 12 августа 2010

У меня есть UISegmentedControl на одной из моих страниц. Я хочу, чтобы поле редактирования отображалось при нажатии на сегмент прямо под выбранным сегментом. Я хотел бы, чтобы это было анимировано (слайд или что-то)

Возможно ли это? Каков наилучший способ сделать это?

Черт. Я забыл упомянуть, что все это действие будет происходить внутри клетки, а не просто представление.

Ответы [ 2 ]

1 голос
/ 12 августа 2010

Вы можете попробовать анимацию UIView. Во-первых, установите для поля ввода (я думаю, UITextView) координату х 320 (чтобы она не отображалась). Во-вторых, когда пользователь нажал на сегментированный элемент управления, просто переведите UITextView с помощью анимации UIView:

[UIView beginAnimation:nil context:nil];
[UIView setAnimationDuration: 1.0];
CGAffineTransform trans = CGAffineTransformMakeTranslation(-320, 0);
self.view.transform = trans;
[UIView commitAnimations];

Надеюсь, это поможет вам;).

0 голосов
/ 12 августа 2010

Хорошо, поэтому я попытаюсь быть более точным, я полагаю, вы используете Interface Builder?Таким образом, вы должны «связать» действие с вашим UISegmentedController, поэтому в вашем классе напишите этот метод:

-(IBAction) translateMyView
{
  //If the first segment is selected do translation of the cellView
  if(yourSegmentedController.selectedSegmentIndex == 0)
  {
    [UIView beginAnimation:nil context:nil];
    [UIView setAnimationDuration: 1.0];
    //This will translate the view to its position from its position -320 px
    CGAffineTransform trans = CGAffineTransformMakeTranslation(-320, 0);
    //Replace self.view with the view you want to translate.
    self.view.transform = trans;
    [UIView commitAnimations];
  }
  else if(yourSegementedController.selectedSegmentIndex ==1)
  {
    //Do same thing that above but with another view
  }
}

Итак, это действие, которое происходит при выборе индекса в вашем segmentedController.Что вам нужно сделать, это связать это действие с вашим UISegmentedController в Интерфейсном Разработчике.

Надеюсь, это будет полезно; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...