Очистить и перерисовать с капучино (Objective-J) - PullRequest
3 голосов
/ 21 мая 2009

в основном у меня есть это

@implementation MyView : CPView
{
  CPArray MyPanelArray;
}

// Populate the MyPanelArray and position each panel
- (void)initMyView
{
  ...
}

MyPanels в значительной степени являются обертками для изображений. Когда все инициализируется, оно рисует просто отлично. Затем у меня есть ползунок для управления положением изображений, и единственный способ, которым я знаю, как перерисовать все, - это перезаписать MyView новым экземпляром и в основном contentView сделать что-то вроде

// Has the correct effect, but feels wrong
- (void)sliderAction:(id)sender
{
    var myNewView = [MyView initWithPositionValue:[sender value]];
    [_contentView replaceSubview:_myView with:myNewView];
    _myView = myNewView;
}

Все работает хорошо, но я сомневаюсь, что это "правильный путь".

* Я знаю, что могу использовать CPCollectionView для базовой настройки, но он не сработает для того, что я пытаюсь выполнить.

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

1 Ответ

5 голосов
/ 21 мая 2009

Под "перерисовкой" вы имеете в виду выполнение drawRect: или просто перемещение / изменение размеров изображений? Если это последнее, то вы можете просто вызвать setFrame: на _myView.

...