문제

내 iPhone 앱에서 다음과 유사한 그리드 보기를 만들고 싶습니다. 아이패드 사진 앱.이러한 종류의 기능(비SDK)을 추가하는 데 사용할 수 있는 라이브러리나 프레임워크가 있습니까?이상적으로는 그리드가 세로 항목 너비가 3개이고 가로 항목이 4개인 앱의 iPad 버전을 개발하고 싶습니다. 그러나 당분간은 세로 항목 너비가 2개, 가로 항목 너비가 3개를 원합니다.

내가 생각할 수 있는 유일한 방법은 UITableView를 하위 클래스로 분류하고 2~3개의 항목을 생성하는 사용자 정의 셀을 갖는 것입니다.그러나 이것은 지저분해 보이며 더 나은 방법이 있다고 확신합니다.

일반적인 항목에는 그림, 라벨 및 버튼이 있으며 너무 복잡하지는 않습니다.

도움이 되었습니까?

해결책

이를 위해 UITableView를 계속 사용할 수 있으며 하위 클래스로 분류할 필요가 없습니다.당신이 말했듯이 당신이 해야 할 일은 복잡하지 않은 자신만의 사용자 정의 셀을 만드는 것뿐입니다.전혀 지저분하지 않아요 :)

다른 팁

iOS 6 이상의 경우 추천합니다 UICOLLECTIONVIEW 그리고 pStCollectionView.

목표는 iOS 4/5에서 pstcollectionView를 폴백으로 사용하고 iOS6의 UICollectionView로 전환하는 것입니다. 특정 런타임 트릭을 사용하여 이전 버전의 iOS에 대한 런타임에서 UICollectionView를 만듭니다. 이상적으로는 파일 만 연결하고 모든 것이 이전 시스템에서 작동합니다.

2010 년에는 추천했습니다 aqgridview

나는 이것이 아주 나이가 많다는 것을 알고 있지만 이것에 대한 답을 찾고 있었고 몇 가지 해결책을 테스트했습니다. 나는 gmgridview가 가장 적은 버그가 많은 솔루션 중 하나라는 것을 알았습니다. 확인하십시오 https://github.com/gmoledina/gmgridview.

테이블보기에서 간단한 그리드보기를 만들려면 클래스 "gridViewCell"및 헤더 파일에서 추가 : 추가 :

@interface GridViewCell : UITableViewCell

@property (nonatomic, strong)  UIButton *column1;
@property (nonatomic, strong)  UIButton *column2;
@property (nonatomic, strong)  UIButton *column3;

@end

.M 파일 에서이 코드를 추가합니다.

#define CELL_WIDTH 100
#define CELL_HEIGHT 80

#import "GridViewCell.h"

@implementation GridViewCell

@synthesize column1, column2, column3;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
    column1 = [[UIButton alloc] initWithFrame:CGRectMake(5, 5, CELL_WIDTH, CELL_HEIGHT)];
    [self addSubview:column1];
    column2 = [[UIButton alloc] initWithFrame:CGRectMake(CELL_WIDTH+ 10, 5, CELL_WIDTH, CELL_HEIGHT)];
    [self addSubview:column2];
    column3 = [[UIButton alloc] initWithFrame:CGRectMake(CELL_WIDTH + CELL_WIDTH + 15, 5, CELL_WIDTH, CELL_HEIGHT)];
    [self addSubview:column3];
}
return self;
}

@end

그리고 테이블을 만들 때 CellforsionAtIndexPath의 Delegate에서 새 클래스 "gridview"를 사용하십시오.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    GridViewCell *cell = (GridViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[GridViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    [cell.column1 setBackgroundColor:[UIColor blackColor]];
    [cell.column2 setBackgroundColor:[UIColor blackColor]];
    [cell.column3 setBackgroundColor:[UIColor blackColor]];

    return cell;
}

nrgridview가 가장 좋은 방법 인 것 같습니다. 당신은 그것을 찾을 수 있습니다 여기.

UitableView와 비슷한 방법이 있습니다. 셀은 필요에 따라 사용자 정의 할 수 있습니다.

Custom UitableViewCells를 사용하는 것이 좋습니다. iOS 5에서는 서브 클래스 할 필요가 없습니다. 프로젝트에 테이블 뷰를 추가하고 Xcode를 사용하여 Xcode를 사용하여 프로토 타입 셀 (= 사용자 정의 셀)을 TableView에 추가하고 고유 식별자를 제공하고 CellForseAtIndexPath 에서이 식별자를 사용하여 Dequeue를 인스턴스화하고 인스턴스화하십시오. 그런 다음 셀을 설정하고 반환하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top