0

UIView基本的に aUIPickerViewと aを含むようにサブクラス化しましたUIToolbar

ユーザーがピッカーで特定の行を選択すると、ピッカーに が追加さUIImageViewれます。UIViewただし、画面を上にスライドするようにアニメーション化した場合、この画像は表示されません。アニメーション化しないと、UIView正しく表示されます。

私はUIImageViewこのように表示しています( でUIView):

- (void)showMailSetupPopover {

    if (self.popoverMailSetupImageView == nil) {

        UIImageView *popoverMailSetupImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"popover-mail-setup-addreminder"]];
        popoverMailSetupImageView.alpha = 0.0;
        popoverMailSetupImageView.frame = CGRectMake(8, self.frame.origin.y + 65, popoverMailSetupImageView.bounds.size.width, popoverMailSetupImageView.bounds.size.height);
        self.popoverMailSetupImageView = popoverMailSetupImageView;
    }

    [self addSubview:self.popoverMailSetupImageView];

    [UIView animateWithDuration:0.5 animations:^{

        self.popoverMailSetupImageView.alpha = 1.0;

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

これは私がに追加する方法UIViewですself.view

RMMessageTypePickerView *messageTypePickerView = [[RMMessageTypePickerView alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, 320, 260) reminderMessageType:RMReminderMessageTypeText delegate:self];

self.messageTypePickerView = messageTypePickerView;

[self.view addSubview:self.messageTypePickerView];

[UIView animateWithDuration:0.2 animations:^{

    self.messageTypePickerView.frame = messageTypePickerViewTargetFrame;
    self.addReminderTableView.frame = addReminderTableViewTargetFrame;

} completion:^(BOOL finished) {

    if (firstShow) {

        [self processSelectedMessageTypeRow:RMReminderMessageTypeText];
    }
}];
4

1 に答える 1

0

問題を発見し、

交換済み

popoverMailSetupImageView.frame = CGRectMake(8, self.frame.origin.y + 65, popoverMailSetupImageView.bounds.size.width, popoverMailSetupImageView.bounds.size.height);

popoverMailSetupImageView.frame = CGRectMake(8, 65, popoverMailSetupImageView.bounds.size.width, popoverMailSetupImageView.bounds.size.height);

self.frame.origin.y必要ありません。

于 2013-03-07T13:14:36.540 に答える