iPhone + uitableview + 행 높이
-
06-07-2019 - |
문제
나는 내 행 높이를 설정하고있다 UITableView
다음 코드 사용
[tableView setRowHeight: 100.00];
나는 단일 라인을 분리기로 사용하고 있습니다. UITableView
.
위의 높이를 설정하면 행의 높이가 변경되지 않습니다.
해결책
당신은 구현해야합니다
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
대표 방법. 그리고 100.0을 반환합니다.
다른 팁
당신은 피해야합니다 heightForRowAtIndexPath
모든 행이 높이가 비슷한 경우 rowHeight
재산. 문서에 따르면 :
RowHeight 대신 TableView : HeightForseForatIndexPath : 사용에 대한 성능이 있습니다. 테이블 뷰가 표시 될 때마다 TableView : HeightforseFortIndexPath : 각 행에 대한 대의원에서는 많은 행이있는 테이블 뷰에서 상당한 성능 문제가 발생할 수 있습니다 (약 1000 개 이상).
uitableviewcontroller 서브 클래스에서 예를 들어, 예를 들어 viewDidAppear
방법 ( UITableViewController
테이블 뷰에 대한 참조) :
self.tableView.rowHeight = 79.f;
행 높이는 처음으로 표시 될 때 세포로 구워집니다.
데이터 소스를 설정하기 전에 uitableview#rowheight를 설정 했습니까?
그렇지 않다면 그렇게하십시오.
어떤 이유로 든 할 수없는 경우, 다른 옵션은 행 높이를 설정 한 후 UitableView#ReloadData를 호출하는 것입니다.
나는 이것을 좋아했다 tableobj
아무것도 아닙니다 UITableView
내 응용 프로그램의 개체.
- (void)viewDidLoad
{
[super viewDidLoad];
[tableObj setRowHeight:100.0f];
}
또는 처리하십시오 numberOfRowsInSection:
처럼:
- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
[tableObj setRowHeight:100.0f];
return [soandso count]; // soandso is my object
}
설정하기 때문에 rowHeight
데이터 소스를 설정하기 전에. 그것은 저를 위해 일했습니다 (동일한 행 높이).
더 좋고 깨끗한 솔루션은 대의원 기능을 구현하는 것입니다 (UitableView에 많은 행이있는 경우 가장 좋은 기능이 아닐 수도 있습니다 ...).
또한, uitableviecell이 uiview라고 생각하여 먼저 높이를 바꿀 수 있다고 생각합니다 ...
대표는 iPhone Dev에서 매우 강력합니다.
당신은 또한 indentforry, displaycellforry, heightforry, 편집을 바꿀 수 있습니다 .....
나는 UitableView에 그런 방법이 있다고 생각하지 않습니다 ...
대신 속성 RowHeight를 사용할 수 있습니다 ...
try, tableview.rowheight = 100;