기능과 같은 ibooks 책꽂이를 구현하려고하는데 저는 매우 간단하고 직선적 인 GSBookShelf을 사용합니다.이 버튼은 셀로 버튼을 추가하고 멋지게 작동합니다.사용자 정의 UIView가있는 Tableview에 레이블 겹치기 추가
각 버튼에 몇 개의 라벨을 추가하고 싶지만 한 번에 성공하지만 5 번 중 2 번이 이전 버튼 라벨과 중복됩니다. 일반적으로이
같은
는 언젠가이 발생합니다
코드 :
- (UIView *)bookShelfView:(GSBookShelfView *)bookShelfView bookViewAtIndex:(NSInteger)index {
NSDictionary *currentArticle = [_bookArray objectAtIndex:index];
static NSString *identifier = @"bookView";
MyBookView *bookView = (MyBookView *)[bookShelfView dequeueReuseableBookViewWithIdentifier:identifier];
if (bookView == nil) {
bookView = [[MyBookView alloc] initWithFrame:CGRectZero];
bookView.reuseIdentifier = identifier;
[bookView addTarget:self action:@selector(bookViewClicked:) forControlEvents:UIControlEventTouchUpInside];
}
[bookView setIndex:index];
[bookView setSelected:[(NSNumber *)[_bookStatus objectAtIndex:index] intValue]];
//[bookView setFileName:[currentArticle objectForKey:@"name"] ];
//[bookView setFileName:[currentArticle objectForKey:@"name"] :index];
UIImage *image = nil;
image = [self returnCellImagefor:[currentArticle objectForKey:@"imagename"]];
[bookView setBackgroundImage:image forState:UIControlStateNormal];
UILabel *_fileLabel=nil;
_fileLabel =[[UILabel alloc] initWithFrame:CGRectMake(0, 180, 200, 46)];
_fileLabel.text=[currentArticle objectForKey:@"name"];
_fileLabel.textColor=[UIColor whiteColor];
_fileLabel.backgroundColor=[UIColor clearColor];
_fileLabel.font = [UIFont fontWithName:@"Gill Sans" size:16];
//_fileLabel.textAlignment=UITextAlignmentCenter;
_fileLabel.textAlignment = NSTextAlignmentCenter;
_fileLabel.numberOfLines=0;
_fileLabel.lineBreakMode = UILineBreakModeWordWrap;
[_fileLabel sizeToFit];
[bookView addSubview:_fileLabel];
return bookView;
}
이미지들이 겹쳐 결코 좋은 그러나 라벨이 때로는 않습니다.
왜 이런 일이 발생하는지 알고 싶습니다.
고마워, 나는 각 라벨에 태그를 붙이며 새 라벨을 할당하기 전에 매번 슈퍼 뷰에서 제거했다. –