1
사용자가 아바타를 탭하면 애니메이션과 함께 KeyWindow ([[[UIApplication sharedApplication ].delegate window ]
)에 시트를 추가하고 싶습니다.NSLayoutConstraint, 상수 변경 애니메이션 원점, 내가 설정 한 것이 아님
시트를 원점 (왼쪽 및 아래쪽 끝점)에서가 아니라 아래쪽으로 똑바로 표시하려면 구속 조건의 상수를 변경하십시오. 가끔 문제가 발생하며 가끔 예상대로 작동합니다.
코디네이터 레이아웃이 중요하다고 생각합니다. 생성 및 표시 :
여기 내 코드입니다. 시트는 현장의 바닥에서 시작합니다
@implementation ZBPhotoSheetView
- (void)awakeFromNib
{
[super awakeFromNib ];
self.backgroundColor = [[UIColor blackColor ] colorWithAlphaComponent: 0.3 ];
//self.vesselViewBottomConstraint.constant = -150; // add it or not ,don't like it matters.
}
+ (ZBPhotoSheetView *)createZhePhotoSheetView
{
ZBPhotoSheetView * zheSheetView = [[[NSBundle mainBundle ] loadNibNamed:@"ZBPhotoSheetView" owner: nil options: nil ] firstObject ];
return zheSheetView;
}
- (void)showZhePhotoSheetView{
if (!_sheetIsShowing){
[[[UIApplication sharedApplication ].delegate window ] addSubview: self ];
self.frame = [UIScreen mainScreen ].bounds;
_sheetIsShowing = YES;
[UIView animateWithDuration: 0.3f delay:0.f options: UIViewAnimationOptionCurveEaseIn animations:^{
self.vesselViewBottomConstraint.constant = 0;
// [self setNeedsUpdateConstraints ]; // add it or not ,don't like it matters.
[self layoutIfNeeded];
} completion:^(BOOL finished) {}];
}
}
여기 내 XIB입니다. 사전에
많은 덕분에, :-)