gpt4 book ai didi

ios - Xcode 6 和 iOS 8 更新后 UITableView 旋转表现奇怪

转载 作者:行者123 更新时间:2023-12-01 16:39:01 26 4
gpt4 key购买 nike

我一直在开发一个应用程序,进展顺利。然而,这个周末我更新到 Xcode 6,现在我的应用程序的行为与更新到 Xcode 6 之前不同。

我的应用程序中有一个 UITableView,我在 viewDidLoad 中旋转:

//Rotate playerCardsTable.
CGAffineTransform rotateTable = CGAffineTransformMakeRotation(-M_PI_2);
_playerCardsTable.transform = rotateTable;
_playerCardsTable.frame = CGRectMake(0, 0, _playerCardsTable.frame.size.width, _playerCardsTable.frame.size.height);

在更新之前的 Xcode(Xcode 5)中,我有这样的观点:

enter image description here

但是现在,在更新到 Xcode 6 之后,我有了这样的看法:

enter image description here

表格 View 旋转了,因此我有水平滚动,但似乎框架在旋转后没有正确更改。它高 320 像素,宽 80 像素,应该是相反的。我不知道为什么,但似乎我无法在代码中更改框架,换句话说,更改宽度和高度后我看不到任何变化。

表格 View 是通过界面构建​​器添加的,并包含自定义单元格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
静态 NSString *CellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

NSString *cardName = [[[[[Game game] localPlayer] playerCards] objectAtIndex:indexPath.row] fileNameCard];
cell.cardImage.image = [UIImage imageNamed:cardName];

Card *card;
card = [[[[Game game] localPlayer] playerCards] objectAtIndex:indexPath.row];

if(card.playable == IsPlayable){
cell.backgroundColor = isPlayableColor;}
else if (card.playable == IsNotPlayable) {
cell.backgroundColor = isNotPlayableColor;}
else if (card.playable == IsReallyPlayable) {
cell.backgroundColor = isReallyPlayableColor;}


//Rotate image to align with rotated tableview.
CGAffineTransform rotateImage = CGAffineTransformMakeRotation(M_PI/2);
cell.cardImage.transform = rotateImage;
cell.playableImage.transform = rotateImage;

cell.cardImage.layer.borderWidth = 2;
cell.cardImage.layer.borderColor = [UIColor clearColor].CGColor;
cell.cardImage.layer.shouldRasterize = YES;
cell.cardImage.layer.rasterizationScale = [[UIScreen mainScreen] scale];

cell.cardImage.layer.shadowColor = [UIColor blackColor].CGColor;
cell.cardImage.layer.shadowOffset = CGSizeMake(0, 1);
cell.cardImage.layer.shadowOpacity = 0.7;
cell.cardImage.layer.shadowRadius = 2.0;
cell.cardImage.clipsToBounds = NO;

return cell;}

要清楚;更新后我没有更改任何代码,因此不同的行为是由更新引起的。

希望大家能帮忙。

谢谢!

最佳答案

我最近将 iPad 升级到 ios8 后遇到了非常相似的情况 - 水平表格显示不正确。

我没有完整的解决方案,但可以通过研究和测试告诉您,在我的情况下,这是由于转换操作和 AutoLayoutUITableView 的限制不协调/不合作。显然,这两个概念协同工作的方式在 ios8 中发生了一些变化。

Storyboard中设置的顶部约束在转换后成为左侧约束(或右侧,从未正确计算出来)。

对我来说,底线是在尝试了多种约束组合之后,包括在转换之前删除它们,然后在转换之后重新添加约束,我最终从 UITableView 转换。至UICollectionView .

关于ios - Xcode 6 和 iOS 8 更新后 UITableView 旋转表现奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25958319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com