我正在使用UITableView
显示数据的项目中工作。我的项目方向是Landscape。现在我想为我的项目添加纵向方向模式,以便任何用户都可以在纵向和横向模式下使用应用程序。
是否有任何可用的代码或方法,我将UITableView
的方向从水平方向更改为垂直方向?
答案 0 :(得分:1)
我相信您只需要设置项目以支持纵向方向。之后,当您旋转设备或模拟器时,{{1}}将会旋转。
我创建了一个简单的项目来测试它。检查output此处。
请注意,有时,视图正确旋转,有时不旋转。一定是个bug。
答案 1 :(得分:1)
只需开发2个具有唯一标识符的不同原型,根据当前方向在cellForRowAtIndexPath中提供它们。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
LatestNewsCell *cell = (LatestNewsCell *)[tableView dequeueReusableCellWithIdentifier:@"portraitCell" forIndexPath:indexPath];
// configure cell
return cell;
} else {
LatestNewsCell *cell = (LatestNewsCell *)[tableView dequeueReusableCellWithIdentifier:@"landscapeCell" forIndexPath:indexPath];
// configure cell
return cell;
}
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[self.tableView reloadData];
}
如果单元格中包含更多标签,您只需为这些标签创建其他IBOutlet,并将现有标签重复用于两个方向中使用的标签。