에 UIImageView
, UILabel
, UIButton
이 있습니다. 편집 모드를 YES로 설정하면 전체 셀 프레임이 오른쪽으로 너무 많이 이동합니다.UITableViewCell content 편집 모드에서 프레임보기가 오른쪽으로 너무 많이 이동합니다.
테이블을 위아래로 스크롤하면 문제가 해결 된 것 같습니다.
하지만 왜 그런 일이 일어나고 어떻게 해결할 수 있습니까?
에 UIImageView
, UILabel
, UIButton
이 있습니다. 편집 모드를 YES로 설정하면 전체 셀 프레임이 오른쪽으로 너무 많이 이동합니다.UITableViewCell content 편집 모드에서 프레임보기가 오른쪽으로 너무 많이 이동합니다.
테이블을 위아래로 스크롤하면 문제가 해결 된 것 같습니다.
하지만 왜 그런 일이 일어나고 어떻게 해결할 수 있습니까?
사용자 정의 UITableViewCell에서 layoutSubviews 및 willTransitionToState를 사용하십시오. .h 파일에 int 상태를 추가하십시오. 당신의하는 .m 세포에서 는
- (void)willTransitionToState:(UITableViewCellStateMask)aState
{
[super willTransitionToState:aState];
state = aState;
}
은 또한이 추가 추가
- (void)layoutSubviews
{
[super layoutSubviews];
self.contentView.frame = CGRectMake(0,
self.contentView.frame.origin.y,
self.contentView.frame.size.width,
self.contentView.frame.size.height);
if (self.editing)
{
switch (state) {
case 2:
// swipe action -> here you play with how much your content will move
self.contentView.frame = CGRectMake(90,
self.contentView.frame.origin.y,
self.contentView.frame.size.width-90,
self.contentView.frame.size.height);
break;
}
} else {
NSLog(@"subview not in edit %i",state);
self.contentView.frame = CGRectMake(0,
self.contentView.frame.origin.y,
self.contentView.frame.size.width,
self.contentView.frame.size.height);
[self setNeedsDisplay];
}
}
이것은 들여 쓰기를 정의하기에 충분합니다.
이 보통 일 때문에 셀의 레이아웃은 layoutSubviews의 프레임이
"너무 많은"무엇에 비해 문제가 해결됩니다 사용하는 사용자 정의 셀 전화를 설정하기되지 않는 이유는 무엇입니까? 아무것도, 또는 당신이 예상했던 들여 쓰기에 비해? 후자의 경우 왜 정확한 거리를 예상 했습니까? 이 값을 어딘가에 조정 했습니까? – Andreas
정상적인 프레임 동작과 비교해 볼 때 너무 많습니다. 이 값을 어떻게 조절할 수 있을지조차 모르겠다. –