Здесь странно, Я перемещаю позицию UIView по следующему коду, он отлично работал в ios7, но в ios8 анимация сбрасывает анимацию, даже я редактирую текст любой метки в контроллере , Это действительно очень странно для меня[UIView animateWithDuration анимация переиздается после изменения текста ярлыка
if (!self.setTouch) {
[UIView animateWithDuration:kViewAnimateWithDuration
delay:kViewDelay
options:UIViewAnimationOptionCurveEaseInOut |
UIViewAnimationOptionAllowUserInteraction
animations:^{
//Move frame or transform view
[self.sliderView setFrame:CGRectMake(self.sliderView.frame.origin.x,-205,self.sliderView.frame.size.width,249)];
self.setTouch = YES;
// [self.containerView setFrame:CGRectMake(self.bottomView.frame.origin.x, self.bottomView.frame.origin.y +171, width_b, height_b -171)];
} completion:^(BOOL finished) {
self.setTouch = YES;
}];
} else {
[UIView animateWithDuration:kViewAnimateWithDuration
delay:kViewDelay
options:UIViewAnimationOptionCurveEaseInOut |
UIViewAnimationOptionAllowUserInteraction
animations:^{
[self.sliderView setFrame:CGRectMake(self.sliderView.frame.origin.x,0.0f,self.sliderView.frame.size.width,249.0)];
self.setTouch = NO;
} completion:^(BOOL finished) {
self.setTouch = NO;
}];
}
Вот код, который изменяет текст метки:
NSTimer *timer= [NSTimer scheduledTimerWithTimeInterval:5.0 target:self
selector:@selector(change_announcement:) userInfo:nil repeats:YES];
Вот фактический метод:
(IBAction)change_announcement:(id)sender {
if ([_announcements count] == 0) {
return;
}
AnnouncementDAO *ob = [_announcements objectAtIndex:_index];
if(_isArabic){
// [_label_announcementEn setHidden:YES];
//[_label_announcementAr setHidden:NO];
[_label_announcementAr setText:ob.announcementArabicTitle];
} else{
// [_label_announcementAr setHidden:YES];
// [_label_announcementEn setHidden:NO];
[_label_announcementEn setText:ob.announcementEngTitle];
}
if (_index >= [_announcements count]-1) {
// NSLog(@"Make index 0");
_index = -1;
}
_index ++;
}
Когда я NSLog sliderView ограничения я вижу следующий вывод:
"<NSIBPrototypingLayoutConstraint:0x7b048740 'IB auto generated at build time for view with fixed frame' H:|-(0)-[UIView:0x7b04b6a0](LTR) (Names: '|':UIView:0x7b04b710)>",
"<NSIBPrototypingLayoutConstraint:0x7b048710 'IB auto generated at build time for view with fixed frame' V:|-(0)-[UIView:0x7b04b6a0] (Names: '|':UIView:0x7b04b710)>",
"<NSIBPrototypingLayoutConstraint:0x7b0486e0 'IB auto generated at build time for view with fixed frame' H:[UIView:0x7b04b6a0(768)]>",
"<NSIBPrototypingLayoutConstraint:0x7b0486b0 'IB auto generated at build time for view with fixed frame' V:[UIView:0x7b04b6a0(25)]>",
"<NSIBPrototypingLayoutConstraint:0x7b048680 'IB auto generated at build time for view with fixed frame' H:|-(348)-[UIButton:0x7b0e72b0](LTR) (Names: '|':UIView:0x7b04b710)>",
"<NSIBPrototypingLayoutConstraint:0x7b048650 'IB auto generated at build time for view with fixed frame' V:|-(206)-[UIButton:0x7b0e72b0] (Names: '|':UIView:0x7b04b710)>",
"<NSIBPrototypingLayoutConstraint:0x7b048620 'IB auto generated at build time for view with fixed frame' H:[UIButton:0x7b0e72b0(73)]>",
"<NSIBPrototypingLayoutConstraint:0x7b0485f0 'IB auto generated at build time for view with fixed frame' V:[UIButton:0x7b0e72b0(22)]>",
"<NSIBPrototypingLayoutConstraint:0x7b0485c0 'IB auto generated at build time for view with fixed frame' H:|-(0)-[UIView:0x7b04d690](LTR) (Names: '|':UIView:0x7b04b710)>",
"<NSIBPrototypingLayoutConstraint:0x7b048590 'IB auto generated at build time for view with fixed frame' V:|-(25)-[UIView:0x7b04d690] (Names: '|':UIView:0x7b04b710)>",
"<NSIBPrototypingLayoutConstraint:0x7b048560 'IB auto generated at build time for view with fixed frame' H:[UIView:0x7b04d690(768)]>",
"<NSIBPrototypingLayoutConstraint:0x7b048530 'IB auto generated at build time for view with fixed frame' V:[UIView:0x7b04d690(181)]>"
Как выглядит код, используемый для изменения текста? – Flexicoder
Код для редактирования UILabel Text добавлен сейчас – Ali