仅在iOS 8上旋转后,UITableViewCell的缩进会更改

测试

我有UITableView三个动态行。UITableViewController第一次显示时,一切正常。旋转后,尽管我将其设置setLayoutMargins为零,但其中包含数据的行仍会缩进到目前为止,我无法在另一个项目中重现此问题。它仅出现在iOS 8中,但仅出现在一张桌子上。该表的相同来源正在测试项目中正常工作。唯一的区别是它位于带有其他视图的容器中。

我检查了自动布局约束,旋转方法,注释掉的内容-所有这些都没有成功。压痕的变化在willRotateToInterfaceOrientation之间didRotateToInterfaceOrientation或之后发生viewWillTransitionToSize我什至更新到iOS 8.1,结果相同。

有人经历过类似的行为吗?

PS:我还注意到,在iOS 8上将布局边距设置为零时,动画不像默认值(带有缩进)那样平滑。在iOS 7上,动画始终很流畅。

编辑:

我追踪了一些东西。如果将aUITableViewController嵌入到UINavigationController凹槽中则缩进会在旋转时发生。如果进一步旋转,则返回到设置的缩进(在我的情况下为无缩进)。

如果将UITableViewController嵌入到容器中(并且此容器在导航控制器中),则在旋转之后,单元格将获得其默认缩进。如果进一步旋转,此行为将保持不变(始终缩进)。

某些事件是否不会发送到子视图控制器,或者您没有人使用UITableViewController嵌入到的事件UINavigationController

测试

我认为这是iOS 8错误或Xamarin错误。也许其他人可以验证其安装是否相同。我正在将Xamarin Studio 5.5.2与Xcode 6.1一起使用。

一个丑陋的解决方案是这样的:

public override void DidRotate (UIInterfaceOrientation fromInterfaceOrientation)
{
    base.DidRotate (fromInterfaceOrientation);

    // otherwise cells are indented! iOS 8 Bug?
    TableView.ReloadData ();
}

可以使用reloadDatareloadSectionin didRotateFromInterfaceOrientation,尽管它已被弃用。但是没有viewDidTransitionToSize,我也必须支持iOS 7。

编辑:

我想出的另一种解决方案是绘制一条自定义分隔线。这仅适用于iOS 8,并且可以回答问题(尽管我在iOS 7上遇到了另一个问题,这种方法无济于事)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅在iOS8中将应用锁定为纵向模式时,UIAlertView变为横向

来自分类Dev

重新加载UITableView仅在iPhone5(ios7)中崩溃后,无法在cellForRowAtIndexPath中获得customTableViewCell

来自分类Dev

为什么仅在装有iOS 5的iPad 1上调用loadMatchWithID:withCompletionHandler会崩溃

来自分类Dev

iOS自动布局:仅在单元格内容更新后才显示

来自分类Dev

仅在Android上编辑后调用的文本上的Setter,在iOS上有效

来自分类Dev

状态栏显示黑色文本,仅在iPhone 6 iOS 8模拟器上

来自分类Dev

在iOS 8上旋转后,UIPopoverController backgroundColor恢复为默认值

来自分类Dev

为什么我的更新后的应用程序仅在IOS8上启动时崩溃?

来自分类Dev

初始屏幕仅在iOS 8中不出现在iPhone中

来自分类Dev

旋转iOS设备后uitableviewcell消失

来自分类Dev

仅在App更新到iOS 8之后,旧的iOS 7 App是否仍可在AppStore中使用?

来自分类Dev

如果仅在image.xcassets中提供1张图像,则xcode 6.1 iOS 7会进行缩放。

来自分类Dev

在iOS 8中更改UITableViewCell字体并快速

来自分类Dev

Swift 2:仅在全屏视频上旋转屏幕

来自分类Dev

lwjgl,仅在屏幕上旋转一个对象?

来自分类Dev

仅在TestFlight版本和IOS 14中显示键盘后,应用程序崩溃

来自分类Dev

UITableViewCell约束更新仅在滚动后发生

来自分类Dev

MPMoviePlayerController可以全屏旋转,而该应用程序仅在ios 7中支持纵向方向

来自分类Dev

重新加载UITableView仅在iPhone5(ios7)中崩溃后,无法在cellForRowAtIndexPath中获得customTableViewCell

来自分类Dev

滚动后,ios,UITableView,缩进意外更改

来自分类Dev

ios在时钟的圆圈视图上旋转和滑动图像

来自分类Dev

应用仅在特定设备ios8中崩溃

来自分类Dev

仅在ios中旋转视图

来自分类Dev

lwjgl,仅在屏幕上旋转一个对象?

来自分类Dev

仅在应用内通过身份验证登录后才可以进行iOS APN?

来自分类Dev

仅在Xcode外部打开iOS应用时,在AppDelegate中访问NSProcessInfo.processInfo()。environment会导致崩溃

来自分类Dev

TableView 仅在屏幕旋转后更新

来自分类Dev

如何使平面仅在一个轴上旋转?

来自分类Dev

仅在最终位置显示旋转动画 iOS swift

Related 相关文章

  1. 1

    仅在iOS8中将应用锁定为纵向模式时,UIAlertView变为横向

  2. 2

    重新加载UITableView仅在iPhone5(ios7)中崩溃后,无法在cellForRowAtIndexPath中获得customTableViewCell

  3. 3

    为什么仅在装有iOS 5的iPad 1上调用loadMatchWithID:withCompletionHandler会崩溃

  4. 4

    iOS自动布局:仅在单元格内容更新后才显示

  5. 5

    仅在Android上编辑后调用的文本上的Setter,在iOS上有效

  6. 6

    状态栏显示黑色文本,仅在iPhone 6 iOS 8模拟器上

  7. 7

    在iOS 8上旋转后,UIPopoverController backgroundColor恢复为默认值

  8. 8

    为什么我的更新后的应用程序仅在IOS8上启动时崩溃?

  9. 9

    初始屏幕仅在iOS 8中不出现在iPhone中

  10. 10

    旋转iOS设备后uitableviewcell消失

  11. 11

    仅在App更新到iOS 8之后,旧的iOS 7 App是否仍可在AppStore中使用?

  12. 12

    如果仅在image.xcassets中提供1张图像,则xcode 6.1 iOS 7会进行缩放。

  13. 13

    在iOS 8中更改UITableViewCell字体并快速

  14. 14

    Swift 2:仅在全屏视频上旋转屏幕

  15. 15

    lwjgl,仅在屏幕上旋转一个对象?

  16. 16

    仅在TestFlight版本和IOS 14中显示键盘后,应用程序崩溃

  17. 17

    UITableViewCell约束更新仅在滚动后发生

  18. 18

    MPMoviePlayerController可以全屏旋转,而该应用程序仅在ios 7中支持纵向方向

  19. 19

    重新加载UITableView仅在iPhone5(ios7)中崩溃后,无法在cellForRowAtIndexPath中获得customTableViewCell

  20. 20

    滚动后,ios,UITableView,缩进意外更改

  21. 21

    ios在时钟的圆圈视图上旋转和滑动图像

  22. 22

    应用仅在特定设备ios8中崩溃

  23. 23

    仅在ios中旋转视图

  24. 24

    lwjgl,仅在屏幕上旋转一个对象?

  25. 25

    仅在应用内通过身份验证登录后才可以进行iOS APN?

  26. 26

    仅在Xcode外部打开iOS应用时,在AppDelegate中访问NSProcessInfo.processInfo()。environment会导致崩溃

  27. 27

    TableView 仅在屏幕旋转后更新

  28. 28

    如何使平面仅在一个轴上旋转?

  29. 29

    仅在最终位置显示旋转动画 iOS swift

热门标签

归档